home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1998 July / EnigmA AMIGA RUN 29 (1998)(G.R. Edizioni)(IT)[!][issue 1998-07 & 08].iso / earcd / grafica / ghostscript / amiga-gs510 / gs5.03 / makefile < prev    next >
Makefile  |  1998-01-08  |  205KB  |  5,815 lines

  1. #    Copyright (C) 1997 Aladdin Enterprises.  All rights reserved.
  2. # This file is part of Aladdin Ghostscript.
  3. # Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND.  No author
  4. # or distributor accepts any responsibility for the consequences of using it,
  5. # or for whether it serves any particular purpose or works at all, unless he
  6. # or she says so in writing.  Refer to the Aladdin Ghostscript Free Public
  7. # License (the "License") for full details.
  8. # Every copy of Aladdin Ghostscript must include a copy of the License,
  9. # normally in a plain ASCII text file named PUBLIC.  The License grants you
  10. # the right to copy, modify and redistribute Aladdin Ghostscript, but only
  11. # under certain conditions described in the License.  Among other things, the
  12. # License requires that the copyright notice and this notice be preserved on
  13. # all copies.
  14.  
  15. # Makefile fragment containing the current revision identification.
  16.  
  17. # Define the name of this makefile.
  18. VERSION_MAK=version.mak
  19.  
  20. # Major and minor version numbers.
  21. # MINOR0 is different from MINOR only if MINOR is a single digit.
  22. GS_VERSION_MAJOR=5
  23. GS_VERSION_MINOR=10
  24. GS_VERSION_MINOR0=10
  25. # Revision date: year x 10000 + month x 100 + day.
  26. GS_REVISIONDATE=19980109
  27.  
  28. # Derived values
  29. GS_VERSION=$(GS_VERSION_MAJOR)$(GS_VERSION_MINOR0)
  30. GS_DOT_VERSION=$(GS_VERSION_MAJOR).$(GS_VERSION_MINOR)
  31. GS_REVISION=$(GS_VERSION)
  32. #    Copyright (C) 1989, 1995, 1996, 1997 Aladdin Enterprises.  All rights reserved.
  33. # This file is part of Aladdin Ghostscript.
  34. # Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND.  No author
  35. # or distributor accepts any responsibility for the consequences of using it,
  36. # or for whether it serves any particular purpose or works at all, unless he
  37. # or she says so in writing.  Refer to the Aladdin Ghostscript Free Public
  38. # License (the "License") for full details.
  39. # Every copy of Aladdin Ghostscript must include a copy of the License,
  40. # normally in a plain ASCII text file named PUBLIC.  The License grants you
  41. # the right to copy, modify and redistribute Aladdin Ghostscript, but only
  42. # under certain conditions described in the License.  Among other things, the
  43. # License requires that the copyright notice and this notice be preserved on
  44. # all copies.
  45. # This is an assign! GH
  46. srcdir = .
  47.  
  48. # makefile for Unix/gcc/X11 configuration.
  49. # Note: this makefile assumes you are using gcc in ANSI mode.
  50.  
  51. #****************************************************************#
  52. #   If you want to change options, DO NOT edit unix-gcc.mak      #
  53. #   or makefile.  Edit gcc-head.mak and run the tar_cat script.  #
  54. #****************************************************************#
  55.  
  56. # ------------------------------- Options ------------------------------- #
  57.  
  58. ####### The following are the only parts of the file you should need to edit.
  59.  
  60. # ------ Generic options ------ #
  61.  
  62. # Define the installation commands and target directories for
  63. # executables and files.  The commands are only relevant to `make install';
  64. # the directories also define the default search path for the
  65. # initialization files (gs_*.ps) and the fonts.
  66.  
  67. # If your system has installbsd, change install to installbsd in the next line.
  68. INSTALL = install -c
  69. INSTALL_PROGRAM = $(INSTALL) -m 755
  70. INSTALL_DATA = $(INSTALL) -m 644
  71.  
  72. # Common prefix for machine-independent installed files.
  73. # prefix = ade: because GS is a Libnix client! && is put on Fish-site
  74. # prefix = /ade when GS is compiled using ixemul.library!
  75. # prefix = ghostscript: because GS uses Libnix and is put on Aminet
  76. #          most end users don't have 'ade:'
  77. # prefix = Ghostscript:
  78. prefix         = Ghostscript
  79. exec_prefix = $(prefix)
  80. batchdir     = $(exec_prefix):batch
  81. scriptdir     = $(batchdir)
  82. #Ghostscript:man
  83. mandir         = $(prefix):man
  84. man1ext     = 1
  85. man1dir     = $(mandir)/man$(man1ext)
  86. datadir     = $(prefix)
  87. gsdir         = $(srcdir)
  88. gsdatadir     = $(prefix):Data
  89. docdir        = $(prefix):Doc
  90. exdir        = $(prefix):examples
  91. GS_DOCDIR    = $(docdir)
  92. gsfonts        = $(prefix):Fonts
  93. # Program to install executables.
  94. INSTALL_PROGRAM = ${INSTALL}
  95. # Program to install data like man pages.
  96. INSTALL_DATA = ${INSTALL} -m 644
  97. # Generic install program.
  98. INSTALL = gg2:bin/install -c
  99.  
  100. CC = gcc
  101. # Use this verion if you compile for Libnix, else the current one
  102. #DEFS =   $(FPU_FLAG) $(CPU_FLAG)
  103. DEFS = -DGSVERSION=\"5.10\" -DGSDATE=\"19980109\"   $(FPU_FLAG) $(CPU_FLAG) #-DIXEMUL
  104.  
  105. # Do a 'setenv="-noixemul"' before running 'configure' !
  106. # if one wants the libnix version  of GS
  107. # configure will add it to the other LDFLAGS
  108. LIBS = 
  109.  
  110.  
  111. # Define the default directory/ies for the runtime
  112. # initialization and font files.  Separate multiple directories with a :.
  113. # this should translate to:"  , ./data  , ./fonts "
  114. GS_LIB_DEFAULT    = '$(gsdatadir)','$(gsfonts)'
  115.  
  116. # Define whether or not searching for initialization files should always
  117. # look in the current directory first.  This leads to well-known security
  118. # and confusion problems, but users insist on it.
  119. # NOTE: this also affects searching for files named on the command line:
  120. # see the "File searching" section of use.txt for full details.
  121. # Because of this, setting SEARCH_HERE_FIRST to 0 is not recommended.
  122.  
  123. SEARCH_HERE_FIRST=1
  124.  
  125. # Define the name of the interpreter initialization file.
  126. # (There is no reason to change this.)
  127.  
  128. GS_INIT=gs_init.ps
  129.  
  130. # Choose generic configuration options.
  131.  
  132. # -DDEBUG
  133. #    includes debugging features (-Z switch) in the code.
  134. #      Code runs substantially slower even if no debugging switches
  135. #      are set.
  136. # -DNOPRIVATE
  137. #    makes private (static) procedures and variables public,
  138. #      so they are visible to the debugger and profiler.
  139. #      No execution time or space penalty.
  140.  
  141. #GENOPT=-DDEBUG
  142. GENOPT=
  143.  
  144. # Define the name of the executable file.
  145.  
  146. GS=gs_$(GS_VERSION)
  147.  
  148. # Define the directory where the IJG JPEG library sources are stored,
  149. # and the major version of the library that is stored there.
  150. # You may need to change this if the IJG library version changes.
  151. # See jpeg.mak for more information.
  152.  
  153. JSRCDIR=jpeg-6a
  154. JVERSION=6
  155.  
  156. # Define the directory where the PNG library sources are stored,
  157. # and the version of the library that is stored there.
  158. # You may need to change this if the libpng version changes.
  159. # See libpng.mak for more information.
  160.  
  161. PSRCDIR=libpng-0.96
  162. PVERSION=96
  163.  
  164. # Choose whether to use a shared version of the PNG library, and if so,
  165. # what its name is.
  166. # See gs.mak and make.txt for more information.
  167.  
  168. SHARE_LIBPNG=0
  169. LIBPNG_NAME=png
  170.  
  171. # Define the directory where the zlib sources are stored.
  172. # See zlib.mak for more information.
  173.  
  174. ZSRCDIR=zlib-1.0.4
  175.  
  176. # Choose whether to use a shared version of the zlib library, and if so,
  177. # what its name is (usually libz, but sometimes libgz).
  178. # See gs.mak and make.txt for more information.
  179.  
  180. SHARE_ZLIB=0
  181. #ZLIB_NAME=gz
  182. ZLIB_NAME=z
  183.  
  184. # Define how to build the library archives.  (These are not used in any
  185. # standard configuration.)
  186.  
  187. AR=ar
  188. ARFLAGS=qc
  189. RANLIB=ranlib
  190.  
  191. # Define the configuration ID.  Read gs.mak carefully before changing this.
  192.  
  193. CONFIG=
  194.  
  195. # ------ Platform-specific options ------ #
  196.  
  197. # Define the name of the C compiler.
  198. # JOOP: done in configure script
  199. #CC=gcc
  200.  
  201. # Define the name of the linker for the final link step.
  202. # Normally this is the same as the C compiler.
  203.  
  204. CCLD=$(CC)
  205.  
  206. # Define the default gcc flags.
  207. # To work around the gcc 2.7.x optimizer bug,
  208. # add -Dconst= and remove -Wcast-qual and -Wwrite-strings.
  209.  
  210. #GCFLAGS=-Wall -Wcast-qual -Wpointer-arith -Wstrict-prototypes -Wwrite-strings
  211. GCFLAGS=-Wall -Wpointer-arith -Wstrict-prototypes
  212.  
  213. # Define the other compilation flags.  Add at most one of the following:
  214. #    -DBSD4_2 for 4.2bsd systems.
  215. #    -DSYSV for System V or DG/UX.
  216. #     -DSYSV -D__SVR3 for SCO ODT, ISC Unix 2.2 or before,
  217. #       or any System III Unix, or System V release 3-or-older Unix.
  218. #    -DSVR4 -DSVR4_0 (not -DSYSV) for System V release 4.0.
  219. #    -DSVR4 (not -DSYSV) for System V release 4.2 (or later) and Solaris 2.
  220. # XCFLAGS can be set from the command line.
  221. # We don't include -ansi, because this gets in the way of the platform-
  222. #   specific stuff that <math.h> typically needs; nevertheless, we expect
  223. #   gcc to accept ANSI-style function prototypes and function definitions.
  224. XCFLAGS=
  225.  
  226. #CFLAGS=-O $(GCFLAGS) $(XCFLAGS)
  227.  
  228. # - Make sure that the version string of gdevamiga.c is correctly included
  229. # for that to happen you need to modify the specs file or hand define
  230. # cpu options (-m68030 -DMC68030 -m68881 -DMC68881 etc)
  231. CFLAGS= -O2 -fno-builtin $(GCFLAGS) $(XCFLAGS)
  232.  
  233. # Define platform flags for ld.
  234. # SunOS 4.n may need -Bstatic.
  235. # XLDFLAGS can be set from the command line.
  236. XLDFLAGS=
  237.  
  238. LDFLAGS= $(XLDFLAGS)
  239.  
  240. # Define any extra libraries to link into the executable.
  241. # ISC Unix 2.2 wants -linet.
  242. # SCO Unix needs -lsocket if you aren't including the X11 driver.
  243. # SVR4 may need -lnsl.
  244. # (Libraries required by individual drivers are handled automatically.)
  245.  
  246. EXTRALIBS=gg2:lib/libnix/swapstack.o
  247.  
  248. # Define the include switch(es) for the X11 header files.
  249. # This can be null if handled in some other way (e.g., the files are
  250. # in /usr/include, or the directory is supplied by an environment variable);
  251. # in particular, SCO Xenix, Unix, and ODT just want
  252. #XINCLUDE=
  253. # Note that x_.h expects to find the header files in $(XINCLUDE)/X11,
  254. # not in $(XINCLUDE).
  255.  
  256. #XINCLUDE=-I/usr/X11R6.1/include
  257.  
  258. # Define the directory/ies and library names for the X11 library files.
  259. # XLIBDIRS is for ld and should include -L; XLIBDIR is for LD_RUN_PATH
  260. # (dynamic libraries on SVR4) and should not include -L.
  261. # Both can be null if these files are in the default linker search path;
  262. # in particular, SCO Xenix, Unix, and ODT just want
  263. #XLIBDIRS=
  264. # Solaris and other SVR4 systems with dynamic linking probably want
  265. #XLIBDIRS=-L/usr/openwin/lib
  266. #XLIBDIR=/usr/openwin/lib
  267. # X11R6 (on any platform) may need
  268. #XLIBS=Xt SM ICE Xext X11
  269.  
  270. #XLIBDIRS=-L/usr/local/X/lib
  271. #XLIBDIRS=-L/usr/X11R6.1/lib
  272. #XLIBDIR=
  273. #XLIBS=Xt Xext X11
  274.  
  275. # Define whether this platform has floating point hardware:
  276. #    FPU_TYPE=2 means floating point is faster than fixed point.
  277. # (This is the case on some RISCs with multiple instruction dispatch.)
  278. #    FPU_TYPE=1 means floating point is at worst only slightly slower
  279. # than fixed point.
  280. #    FPU_TYPE=0 means that floating point may be considerably slower.
  281. #    FPU_TYPE=-1 means that floating point is always much slower than
  282. # fixed point.
  283.  
  284. FPU_TYPE=1
  285.  
  286. # ------ Devices and features ------ #
  287.  
  288. # Choose the language feature(s) to include.  See gs.mak for details.
  289.  
  290. FEATURE_DEVS=level2.dev pdf.dev pipe.dev ttfont.dev epsf.dev
  291.  
  292. # Choose whether to compile the .ps initialization files into the executable.
  293. # See gs.mak for details.
  294.  
  295. COMPILE_INITS=0
  296.  
  297. # Choose whether to store band lists on files or in memory.
  298. # The choices are 'file' or 'memory'.
  299.  
  300. BAND_LIST_STORAGE=memory
  301.  
  302. # Choose which compression method to use when storing band lists in memory.
  303. # The choices are 'lzw' or 'zlib'.  lzw is not recommended, because the
  304. # LZW-compatible code in Ghostscript doesn't actually compress its input.
  305.  
  306. BAND_LIST_COMPRESSOR=zlib
  307.  
  308. # Choose the implementation of file I/O: 'stdio', 'fd', or 'both'.
  309. # See gs.mak and sfxfd.c for more details.
  310.  
  311. FILE_IMPLEMENTATION=stdio
  312.  
  313. # Choose the device(s) to include.  See devs.mak for details.
  314. DEVICE_DEVS=amiga.dev amiga_printer.dev amiga_ilbm.dev amiga_custom.dev
  315. DEVICE_DEVS1=stcolor.dev cdj850.dev epsonc.dev
  316. DEVICE_DEVS2=epson.dev eps9mid.dev eps9high.dev ibmpro.dev
  317. DEVICE_DEVS3=deskjet.dev djet500.dev laserjet.dev ljetplus.dev ljet2p.dev ljet3.dev ljet4.dev
  318. DEVICE_DEVS4=cdeskjet.dev cdjcolor.dev cdjmono.dev cdj550.dev pj.dev pjxl.dev pjxl300.dev
  319. DEVICE_DEVS5=uniprint.dev
  320. DEVICE_DEVS6=bj10e.dev bj200.dev bjc600.dev bjc800.dev
  321. DEVICE_DEVS7=faxg3.dev faxg32d.dev faxg4.dev
  322. DEVICE_DEVS8=pcxmono.dev pcxgray.dev pcx16.dev pcx256.dev pcx24b.dev pcxcmyk.dev
  323. DEVICE_DEVS9=pbm.dev pbmraw.dev pgm.dev pgmraw.dev pgnm.dev pgnmraw.dev pnm.dev pnmraw.dev ppm.dev ppmraw.dev
  324. DEVICE_DEVS10=tiffcrle.dev tiffg3.dev tiffg32d.dev tiffg4.dev tifflzw.dev tiffpack.dev
  325. DEVICE_DEVS11=tiff12nc.dev tiff24nc.dev
  326. DEVICE_DEVS12=psmono.dev psgray.dev bit.dev bitrgb.dev bitcmyk.dev
  327. DEVICE_DEVS13=pngmono.dev pnggray.dev png16.dev png256.dev png16m.dev
  328. DEVICE_DEVS14=jpeg.dev jpeggray.dev
  329. DEVICE_DEVS15=pdfwrite.dev pswrite.dev epswrite.dev pxlmono.dev pxlcolor.dev
  330.  
  331. # ---------------------------- End of options --------------------------- #
  332.  
  333. # Define the name of the partial makefile that specifies options --
  334. # used in dependencies.
  335.  
  336. MAKEFILE=gcc-head.mak
  337.  
  338. # Define the ANSI-to-K&R dependency.  (gcc accepts ANSI syntax.)
  339.  
  340. AK=
  341.  
  342. # Define the compilation rules and flags.
  343.  
  344. CCC=$(CC) $(CCFLAGS) -c
  345. CCAUX=$(CC)
  346. #We can't use -fomit-frame-pointer with -pg....
  347. #CCLEAF=$(CCC)
  348. CCLEAF=$(CCC) -fomit-frame-pointer
  349.  
  350. # --------------------------- Generic makefile ---------------------------- #
  351.  
  352. # The remainder of the makefile (unixhead.mak, gs.mak, devs.mak, unixtail.mak)
  353. # is generic.  tar_cat concatenates all these together.
  354. #    Copyright (C) 1990, 1993, 1996 Aladdin Enterprises.  All rights reserved.
  355. # This file is part of Aladdin Ghostscript.
  356. # Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND.  No author
  357. # or distributor accepts any responsibility for the consequences of using it,
  358. # or for whether it serves any particular purpose or works at all, unless he
  359. # or she says so in writing.  Refer to the Aladdin Ghostscript Free Public
  360. # License (the "License") for full details.
  361. # Every copy of Aladdin Ghostscript must include a copy of the License,
  362. # normally in a plain ASCII text file named PUBLIC.  The License grants you
  363. # the right to copy, modify and redistribute Aladdin Ghostscript, but only
  364. # under certain conditions described in the License.  Among other things, the
  365. # License requires that the copyright notice and this notice be preserved on
  366. # all copies.
  367.  
  368. # Partial makefile common to all Unix configurations.
  369.  
  370. # This part of the makefile gets inserted after the compiler-specific part
  371. # (xxx-head.mak) and before gs.mak and devs.mak.
  372.  
  373. # ----------------------------- Generic stuff ----------------------------- #
  374.  
  375. # Define the platform name.  For a "stock" System V platform,
  376. # use sysv_ instead of unix_.
  377.  
  378. PLATFORM=amiga_
  379.  
  380. # Define the syntax for command, object, and executable files.
  381.  
  382. CMD=
  383. O = -o ./
  384. OBJ = o
  385. XE=
  386. XEAUX=
  387.  
  388. # Define the current directory prefix and command invocations.
  389.  
  390. CAT = cat
  391. D := /
  392. EXPP=
  393. EXP=
  394. SHELL = /bin/sh
  395. SH=$(SHELL)
  396. SHP=$(SH) $(EXP)
  397.  
  398. # Define generic commands.
  399.  
  400. CP_ = cp
  401. RM_ = rm -f
  402. RMN_ = rm -f
  403.  
  404. # Define the arguments for genconf.
  405.  
  406. CONFILES=-p "%s&s&&" -pl "&-l%s&s&&" -pL "&-L%s&s&&" -ol $(ld_tr)
  407.  
  408. # Define the compilation rules and flags.
  409.  
  410. CCFLAGS=$(GENOPT) $(CFLAGS)
  411.  
  412. .c.o:
  413.     $(CCC) -c -I. -I$(srcdir) $(DEFS) $< $(OUTPUT_OPTION)
  414.  
  415. #.c.o: $(AK)
  416. #    $(CCC) $*.c
  417.  
  418. CCCF=$(CCC)
  419. CCD=$(CCC)
  420. CCINT=$(CCC)
  421.  
  422. BEGINFILES=
  423. CCBEGIN=$(CCC) *.c
  424.  
  425. # Patch a couple of PC-specific things that aren't relevant to Unix builds,
  426. # but that cause `make' to produce warnings.
  427.  
  428. BGIDIR=***UNUSED***
  429. PCFBASM=
  430. #    Copyright (C) 1989, 1996, 1997 Aladdin Enterprises.  All rights reserved.
  431. # This file is part of Aladdin Ghostscript.
  432. # Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND.  No author
  433. # or distributor accepts any responsibility for the consequences of using it,
  434. # or for whether it serves any particular purpose or works at all, unless he
  435. # or she says so in writing.  Refer to the Aladdin Ghostscript Free Public
  436. # License (the "License") for full details.
  437. # Every copy of Aladdin Ghostscript must include a copy of the License,
  438. # normally in a plain ASCII text file named PUBLIC.  The License grants you
  439. # the right to copy, modify and redistribute Aladdin Ghostscript, but only
  440. # under certain conditions described in the License.  Among other things, the
  441. # License requires that the copyright notice and this notice be preserved on
  442. # all copies.
  443.  
  444. # Generic makefile, common to all platforms.
  445. # The platform-specific makefiles `include' this file.
  446. # They define the following symbols:
  447. #    GS - the name of the executable (without the extension, if any).
  448. #    GS_LIB_DEFAULT - the default directory/ies for searching for the
  449. #        initialization and font files at run time.
  450. #    SEARCH_HERE_FIRST - the default setting of -P (whether or not to
  451. #        look for files in the current directory first).
  452. #    GS_DOCDIR - the directory where documentation will be available
  453. #        at run time.
  454. #    JSRCDIR - the directory where the IJG JPEG library source code
  455. #        is stored (at compilation time).
  456. #    JVERSION - the major version number of the IJG JPEG library.
  457. #    PSRCDIR, PVERSION - the same for libpng.
  458. #    ZSRCDIR - the same for zlib.
  459. #    SHARE_LIBPNG - normally 0; if set to 1, asks the linker to use
  460. #        an existing compiled libpng (-lpng) instead of compiling and
  461. #        linking libpng explicitly.
  462. #    LIBPNG_NAME, the name of the shared libpng, currently always
  463. #        png (libpng, -lpng).
  464. #    SHARE_ZLIB - normally 0; if set to 1, asks the linker to use
  465. #        an existing compiled zlib (-lgz or -lz) instead of compiling
  466. #        and linking libgz/libz explicitly.
  467. #    ZLIB_NAME - the name of the shared zlib, either gz (for libgz, -lgz)
  468. #        or z (for libz, -lz).
  469. #    CONFIG - a configuration ID, added at the request of a customer,
  470. #        that is supposed to help in maintaining multiple variants in
  471. #        a single directory.  Normally this is an empty string;
  472. #        it may be any string that is legal as part of a file name.
  473. #    DEVICE_DEVS - the devices to include in the executable.
  474. #        See devs.mak for details.
  475. #    DEVICE_DEVS1...DEVICE_DEVS15 - additional devices, if the definition
  476. #        of DEVICE_DEVS doesn't fit on one line.  See devs.mak for details.
  477. #    FEATURE_DEVS - what features to include in the executable.
  478. #        Normally this is one of:
  479. #            level1 - a standard PostScript Level 1 language
  480. #            interpreter.
  481. #            level2 - a standard PostScript Level 2 language
  482. #            interpreter.
  483. #            pdf - a PDF-capable interpreter.
  484. #        You may include both level1 and pdf, or both level2 and pdf.
  485. #        The following feature may be added to either of the standard
  486. #        configurations:
  487. #            ccfonts - precompile fonts into C, and link them
  488. #            with the executable.  See fonts.txt for details.
  489. #        The remaining features are of interest primarily to developers
  490. #        who want to "mix and match" features to create custom
  491. #        configurations:
  492. #            dps - (partial) support for Display PostScript extensions:
  493. #            see language.txt for details.
  494. #            btoken - support for binary token encodings.
  495. #            Included automatically in the dps and level2 features.
  496. #            cidfont - (currently partial) support for CID-keyed fonts.
  497. #            color - support for the Level 1 CMYK color extensions.
  498. #            Included automatically in the dps and level2 features.
  499. #            compfont - support for composite (type 0) fonts.
  500. #            Included automatically in the level2 feature.
  501. #            dct - support for DCTEncode/Decode filters.
  502. #            Included automatically in the level2 feature.
  503. #            epsf - support for recognizing and skipping the binary
  504. #            header of MS-DOS EPSF files.
  505. #            filter - support for Level 2 filters (other than eexec,
  506. #            ASCIIHexEncode/Decode, NullEncode, PFBDecode,
  507. #            RunLengthEncode/Decode, and SubFileDecode, which are
  508. #            always included, and DCTEncode/Decode,
  509. #            which are separate).
  510. #            Included automatically in the level2 feature.
  511. #            fzlib - support for zlibEncode/Decode filters.
  512. #            ttfont - support for TrueType fonts.
  513. #            type1 - support for Type 1 fonts and eexec;
  514. #            normally included automatically in all configurations.
  515. #            type42 - support for Type 42 (embedded TrueType) fonts.
  516. #            Included automatically in the level2 feature.
  517. #        There are quite a number of other sub-features that can be
  518. #        selectively included in or excluded from a configuration,
  519. #        but the above are the ones that are most likely to be of
  520. #        interest.
  521. #    COMPILE_INITS - normally 0; if set to 1, compiles the PostScript
  522. #        language initialization files (gs_init.ps et al) into the
  523. #        executable, eliminating the need for these files to be present
  524. #        at run time.
  525. #    BAND_LIST_STORAGE - normally file; if set to memory, stores band
  526. #        lists in memory (with compression if needed).
  527. #    BAND_LIST_COMPRESSOR - normally zlib: selects the compression method
  528. #        to use for band lists in memory.
  529. #    FILE_IMPLEMENTATION - normally stdio; if set to fd, uses file
  530. #        descriptors instead of buffered stdio for file I/O; if set to
  531. #        both, provides both implementations with different procedure
  532. #        names for the fd-based implementation (see sfxfd.c for
  533. #        more information).
  534. #    EXTEND_NAMES - a value N between 0 and 6, indicating that the name
  535. #        table should have a capacity of 2^(16+N) names.  This normally
  536. #        should be set to 0 (or left undefined), since non-zero values
  537. #        result in a larger fixed space overhead and slightly slower code.
  538. #        EXTEND_NAMES is ignored in 16-bit environments.
  539. #
  540. # It is very unlikely that anyone would want to edit the remaining
  541. #   symbols, but we describe them here for completeness:
  542. #    GS_INIT - the name of the initialization file for the interpreter,
  543. #        normally gs_init.ps.
  544. #    PLATFORM - a "device" name for the platform, so that platforms can
  545. #        add various kinds of resources like devices and features.
  546. #    CMD - the suffix for shell command files (e.g., null or .bat).
  547. #        (This is only needed in a few places.)
  548. #    D - the directory separator character (\ for MS-DOS, / for Unix).
  549. #    O - the string for specifying the output file from the C compiler
  550. #        (-o for MS-DOS, -o ./ for Unix).
  551. #    OBJ - the extension for relocatable object files (e.g., o or obj).
  552. #    XE - the extension for executable files (e.g., null or .exe).
  553. #    XEAUX - the extension for the executable files (e.g., null or .exe)
  554. #        for the utility programs (ansi2knr and those compiled with
  555. #        CCAUX).
  556. #    BEGINFILES - the list of files that `make begin' and `make clean'
  557. #        should delete.
  558. #    CCA2K - the C invocation for the ansi2knr program, which is the only
  559. #        one that doesn't use ANSI C syntax.  (It is only needed if
  560. #        the main C compiler also isn't an ANSI compiler.)
  561. #    CCAUX - the C invocation for auxiliary programs (echogs, genarch,
  562. #        genconf, geninit).
  563. #    CCBEGIN - the compilation command for `make begin', normally
  564. #        $(CCC) *.c.
  565. #    CCC - the C invocation for normal compilation.
  566. #    CCD - the C invocation for files that store into frame buffers or
  567. #        device registers.  Needed because some optimizing compilers
  568. #        will eliminate necessary stores.
  569. #    CCCF - the C invocation for compiled fonts and other large,
  570. #        self-contained data modules.  Needed because MS-DOS
  571. #        requires using the 'huge' memory model for these.
  572. #    CCINT - the C invocation for compiling the main interpreter module,
  573. #        normally the same as CCC: this is needed because the
  574. #        Borland compiler generates *worse* code for this module
  575. #        (but only this module) when optimization (-O) is turned on.
  576. #    CCLEAF - the C invocation for compiling modules that contain only
  577. #        leaf procedures, which don't need to build stack frames.
  578. #        This is needed only because many compilers aren't able to
  579. #        recognize leaf procedures on their own.
  580. #    AK - if source files must be converted from ANSI to K&R syntax,
  581. #        this is $(ANSI2KNR_XE); if not, it is null.
  582. #        If a particular platform requires other utility programs
  583. #        to be built, AK must include them too.
  584. #    SHP - the prefix for invoking a shell script in the current directory
  585. #        (null for MS-DOS, $(SH) ./ for Unix).
  586. #    EXPP, EXP - the prefix for invoking an executable program in the
  587. #        current directory (null for MS-DOS, ./ for Unix).
  588. #    SH - the shell for scripts (null on MS-DOS, sh on Unix).
  589. #    CONFILES - the arguments for genconf to generate the appropriate
  590. #        linker control files (various).
  591. #    CP_ - the command for copying one file to another.  Because of
  592. #        limitations in the MS-DOS/MS Windows environment, the
  593. #        second argument must either be '.' (in which case the
  594. #        write date may be either preserved or set to the current
  595. #        date) or a file name (in which case the write date is
  596. #        always updated).
  597. #    RM_ - the command for deleting (a) file(s) (including wild cards,
  598. #        but limited to a single file or pattern).
  599. #    RMN_ = the command for deleting multiple files / patterns.
  600. #
  601. # The platform-specific makefiles must also include rules for creating
  602. # certain dynamically generated files:
  603. #    gconfig_.h - this indicates the presence or absence of
  604. #        certain system header files that are located in different
  605. #        places on different systems.  (It could be generated by
  606. #        the GNU `configure' program.)
  607. #    gconfigv.h - this indicates the status of certain machine-
  608. #        and configuration-specific features derived from definitions
  609. #        in the platform-specific makefile.
  610.  
  611. # Define the name of this makefile.
  612. GS_MAK=makefile
  613.  
  614. # Define the names of the executables.
  615. GS_XE=$(GS)$(XE)
  616. ANSI2KNR_XE=ansi2knr$(XEAUX)
  617. ECHOGS_XE=echogs$(XEAUX)
  618. GENARCH_XE=genarch$(XEAUX)
  619. GENCONF_XE=genconf$(XEAUX)
  620. GENINIT_XE=geninit$(XEAUX)
  621.  
  622. # Define the names of the CONFIG-dependent header files.
  623. # gconfig*.h and gconfx*.h are generated dynamically.
  624. gconfig_h=gconfxx$(CONFIG).h
  625. gconfigf_h=gconfxc$(CONFIG).h
  626.  
  627. # Watcom make insists that rules have a non-empty body!
  628. all default: $(GS_XE)
  629.     $(RM_) _temp_*
  630.  
  631. distclean maintainer-clean realclean: clean
  632.     $(RM_) makefile
  633.  
  634. clean: mostlyclean
  635.     $(RM_) arch.h
  636.     $(RM_) $(GS_XE)
  637.  
  638. mostlyclean:
  639.     $(RMN_) *.$(OBJ) *.a core gmon.out
  640.     $(RMN_) *.dev *.d_* devs*.tr gconfig*.h gconfx*.h j*.h o*.tr l*.tr
  641.     $(RMN_) deflate.h zutil.h
  642.     $(RMN_) gconfig*.c gscdefs*.c iconfig*.c
  643.     $(RMN_) _temp_* _temp_*.* *.map *.sym
  644.     $(RMN_) $(ANSI2KNR_XE) $(ECHOGS_XE) $(GENARCH_XE) $(GENCONF_XE) $(GENINIT_XE)
  645.     $(RMN_) gs_init.c $(BEGINFILES)
  646.  
  647. # Remove only configuration-dependent information.
  648. config-clean:
  649.     $(RMN_) *.dev devs*.tr gconfig*.h gconfx*.h o*.tr l*.tr
  650.  
  651. # A rule to do a quick and dirty compilation attempt when first installing
  652. # the interpreter.  Many of the compilations will fail:
  653. # follow this with 'make'.
  654.  
  655. begin:
  656.     $(RMN_) arch.h gconfig*.h gconfx*.h $(GENARCH_XE) $(GS_XE)
  657.     $(RMN_) gconfig*.c gscdefs*.c iconfig*.c
  658.     $(RMN_) gs_init.c $(BEGINFILES)
  659.     make arch.h gconfigv.h
  660.     - $(CCBEGIN)
  661.     $(RMN_) gconfig.$(OBJ) gdev*.$(OBJ) gp_*.$(OBJ) gscdefs.$(OBJ) gsmisc.$(OBJ)
  662.     $(RMN_) ccfontab.$(OBJ) iconfig.$(OBJ) iinit.$(OBJ) interp.$(OBJ)
  663.  
  664. # Auxiliary programs
  665.  
  666. arch.h: $(GENARCH_XE)
  667.     $(EXPP) $(EXP)genarch arch.h
  668.  
  669. # Macros for constructing the *.dev files that describe features and
  670. # devices.
  671. SETDEV=$(EXP)echogs -e .dev -w- -l-dev -F -s -l-obj
  672. SETPDEV=$(EXP)echogs -e .dev -w- -l-dev -F -s -l-include -lpage -l-obj
  673. SETMOD=$(EXP)echogs -e .dev -w- -l-obj
  674. ADDMOD=$(EXP)echogs -e .dev -a-
  675.  
  676. # Define the compilation commands for the third-party libraries.
  677. CCCP=$(CCC) -I$(PSRCDIR) -I$(ZSRCDIR) -DPNG_USE_CONST
  678. CCCJ=$(CCC) -I. -I$(srcdir) -I$(JSRCDIR)
  679. CCCZ=$(CCC) -I. -I$(srcdir) -I$(ZSRCDIR)
  680.  
  681. ######################## How to define new 'features' #######################
  682. #
  683. # One defines new 'features' exactly like devices (see devs.mak for details).
  684. # For example, one would define a feature abc by adding the following to
  685. # gs.mak:
  686. #
  687. #    abc_=abc1.$(OBJ) ...
  688. #    abc.dev: $(GS_MAK) $(ECHOGS_XE) $(abc_)
  689. #        $(SETMOD) abc $(abc_)
  690. #        $(ADDMOD) abc -obj ... [if needed]
  691. #        $(ADDMOD) abc -oper ... [if appropriate]
  692. #        $(ADDMOD) abc -ps ... [if appropriate]
  693. #
  694. # If the abc feature requires the presence of some other features jkl and
  695. # pqr, then the rules must look like this:
  696. #
  697. #    abc_=abc1.$(OBJ) ...
  698. #    abc.dev: $(GS_MAK) $(ECHOGS_XE) $(abc_) jkl.dev pqr.dev
  699. #        $(SETMOD) abc $(abc_)
  700. #        ...
  701. #        $(ADDMOD) abc -include jkl pqr
  702.  
  703. # --------------------- Configuration-dependent files --------------------- #
  704.  
  705. # gconfig.h shouldn't have to depend on DEVS_ALL, but that would
  706. # involve rewriting gsconfig to only save the device name, not the
  707. # contents of the <device>.dev files.
  708. # FEATURE_DEVS must precede DEVICE_DEVS so that devices can override
  709. # features in obscure cases.
  710.  
  711. DEVS_ALL=$(PLATFORM).dev $(FEATURE_DEVS) \
  712.   $(DEVICE_DEVS) $(DEVICE_DEVS1) \
  713.   $(DEVICE_DEVS2) $(DEVICE_DEVS3) $(DEVICE_DEVS4) $(DEVICE_DEVS5) \
  714.   $(DEVICE_DEVS6) $(DEVICE_DEVS7) $(DEVICE_DEVS8) $(DEVICE_DEVS9) \
  715.   $(DEVICE_DEVS10) $(DEVICE_DEVS11) $(DEVICE_DEVS12) $(DEVICE_DEVS13) \
  716.   $(DEVICE_DEVS14) $(DEVICE_DEVS15)
  717.  
  718. devs_tr=devs.tr$(CONFIG)
  719. $(devs_tr): $(GS_MAK) $(MAKEFILE) $(ECHOGS_XE)
  720.     $(EXP)echogs -w $(devs_tr) - -include $(PLATFORM).dev
  721.     $(EXP)echogs -a $(devs_tr) - $(FEATURE_DEVS)
  722.     $(EXP)echogs -a $(devs_tr) - $(DEVICE_DEVS)
  723.     $(EXP)echogs -a $(devs_tr) - $(DEVICE_DEVS1)
  724.     $(EXP)echogs -a $(devs_tr) - $(DEVICE_DEVS2)
  725.     $(EXP)echogs -a $(devs_tr) - $(DEVICE_DEVS3)
  726.     $(EXP)echogs -a $(devs_tr) - $(DEVICE_DEVS4)
  727.     $(EXP)echogs -a $(devs_tr) - $(DEVICE_DEVS5)
  728.     $(EXP)echogs -a $(devs_tr) - $(DEVICE_DEVS6)
  729.     $(EXP)echogs -a $(devs_tr) - $(DEVICE_DEVS7)
  730.     $(EXP)echogs -a $(devs_tr) - $(DEVICE_DEVS8)
  731.     $(EXP)echogs -a $(devs_tr) - $(DEVICE_DEVS9)
  732.     $(EXP)echogs -a $(devs_tr) - $(DEVICE_DEVS10)
  733.     $(EXP)echogs -a $(devs_tr) - $(DEVICE_DEVS11)
  734.     $(EXP)echogs -a $(devs_tr) - $(DEVICE_DEVS12)
  735.     $(EXP)echogs -a $(devs_tr) - $(DEVICE_DEVS13)
  736.     $(EXP)echogs -a $(devs_tr) - $(DEVICE_DEVS14)
  737.     $(EXP)echogs -a $(devs_tr) - $(DEVICE_DEVS15)
  738.  
  739. # GCONFIG_EXTRAS can be set on the command line.
  740. # Note that it consists of arguments for echogs, i.e.,
  741. # it isn't just literal text.
  742. GCONFIG_EXTRAS=
  743.  
  744. ld_tr=ld$(CONFIG).tr
  745. $(gconfig_h) $(ld_tr) lib.tr: \
  746.   $(GS_MAK) $(MAKEFILE) version.mak $(GENCONF_XE) $(ECHOGS_XE) $(devs_tr) $(DEVS_ALL) libcore.dev
  747.     $(EXP)genconf $(devs_tr) libcore.dev -h $(gconfig_h) $(CONFILES)
  748.     $(EXP)echogs -a $(gconfig_h) -x 23 define -s -u GS_LIB_DEFAULT -x 2022 $(GS_LIB_DEFAULT) -x 22
  749.     $(EXP)echogs -a $(gconfig_h) -x 23 define -s -u SEARCH_HERE_FIRST -s $(SEARCH_HERE_FIRST)
  750.     $(EXP)echogs -a $(gconfig_h) -x 23 define -s -u GS_DOCDIR -x 2022 $(GS_DOCDIR) -x 22
  751.     $(EXP)echogs -a $(gconfig_h) -x 23 define -s -u GS_INIT -x 2022 $(GS_INIT) -x 22
  752.     $(EXP)echogs -a $(gconfig_h) -x 23 define -s -u GS_REVISION -s $(GS_REVISION)
  753.     $(EXP)echogs -a $(gconfig_h) -x 23 define -s -u GS_REVISIONDATE -s $(GS_REVISIONDATE)
  754.     $(EXP)echogs -a $(gconfig_h) $(GCONFIG_EXTRAS)
  755.  
  756. ################################################################
  757. # The other platform-independent makefiles are concatenated
  758. # (or included) after this one:
  759. #    lib.mak
  760. #    int.mak
  761. #    jpeg.mak
  762. #    libpng.mak
  763. #    zlib.mak
  764. #    devs.mak
  765. ################################################################
  766. #    Copyright (C) 1995, 1996, 1997 Aladdin Enterprises.  All rights reserved.
  767. # This file is part of Aladdin Ghostscript.
  768. # Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND.  No author
  769. # or distributor accepts any responsibility for the consequences of using it,
  770. # or for whether it serves any particular purpose or works at all, unless he
  771. # or she says so in writing.  Refer to the Aladdin Ghostscript Free Public
  772. # License (the "License") for full details.
  773. # Every copy of Aladdin Ghostscript must include a copy of the License,
  774. # normally in a plain ASCII text file named PUBLIC.  The License grants you
  775. # the right to copy, modify and redistribute Aladdin Ghostscript, but only
  776. # under certain conditions described in the License.  Among other things, the
  777. # License requires that the copyright notice and this notice be preserved on
  778. # all copies.
  779.  
  780. # (Platform-independent) makefile for graphics library and other support code.
  781. # See the end of gs.mak for where this fits into the build process.
  782.  
  783. # Define the name of this makefile.
  784. LIB_MAK=lib.mak
  785.  
  786. # Define the inter-dependencies of the .h files.
  787. # Since not all versions of `make' defer expansion of macros,
  788. # we must list these in bottom-to-top order.
  789.  
  790. # Generic files
  791.  
  792. arch_h=arch.h
  793. stdpre_h=stdpre.h
  794. std_h=std.h $(arch_h) $(stdpre_h)
  795.  
  796. # Platform interfaces
  797.  
  798. gp_h=gp.h
  799. gpcheck_h=gpcheck.h
  800.  
  801. # Configuration definitions
  802.  
  803. # gconfig*.h are generated dynamically.
  804. gconfig__h=gconfig_.h
  805. gconfigv_h=gconfigv.h
  806. gscdefs_h=gscdefs.h
  807.  
  808. # C library interfaces
  809.  
  810. # Because of variations in the "standard" header files between systems, and
  811. # because we must include std.h before any file that includes sys/types.h,
  812. # we define local include files named *_.h to substitute for <*.h>.
  813.  
  814. vmsmath_h=vmsmath.h
  815.  
  816. dos__h=dos_.h
  817. ctype__h=ctype_.h $(std_h)
  818. dirent__h=dirent_.h $(std_h) $(gconfig__h)
  819. errno__h=errno_.h $(std_h)
  820. malloc__h=malloc_.h $(std_h)
  821. math__h=math_.h $(std_h) $(vmsmath_h)
  822. memory__h=memory_.h $(std_h)
  823. stat__h=stat_.h $(std_h)
  824. stdio__h=stdio_.h $(std_h)
  825. string__h=string_.h $(std_h)
  826. time__h=time_.h $(std_h) $(gconfig__h)
  827. windows__h=windows_.h
  828.  
  829. # Miscellaneous
  830.  
  831. gdebug_h=gdebug.h
  832. gsalloc_h=gsalloc.h
  833. gsargs_h=gsargs.h
  834. gserror_h=gserror.h
  835. gserrors_h=gserrors.h
  836. gsexit_h=gsexit.h
  837. gsgc_h=gsgc.h
  838. gsio_h=gsio.h
  839. gsmdebug_h=gsmdebug.h
  840. gsmemory_h=gsmemory.h
  841. gsrefct_h=gsrefct.h
  842. gsstruct_h=gsstruct.h
  843. gstypes_h=gstypes.h
  844. gx_h=gx.h $(stdio__h) $(gdebug_h) $(gserror_h) $(gsio_h) $(gsmemory_h) $(gstypes_h)
  845.  
  846. GX=$(AK) $(gx_h)
  847. GXERR=$(GX) $(gserrors_h)
  848.  
  849. ###### Support
  850.  
  851. ### Include files
  852.  
  853. gsbitops_h=gsbitops.h
  854. gsbittab_h=gsbittab.h
  855. gsflip_h=gsflip.h
  856. gsuid_h=gsuid.h
  857. gsutil_h=gsutil.h
  858. gxarith_h=gxarith.h
  859. gxbitmap_h=gxbitmap.h $(gstypes_h)
  860. gxfarith_h=gxfarith.h $(gconfigv_h) $(gxarith_h)
  861. gxfixed_h=gxfixed.h
  862. gxobj_h=gxobj.h $(gxbitmap_h)
  863. # Out of order
  864. gxalloc_h=gxalloc.h $(gsalloc_h) $(gxobj_h)
  865.  
  866. ### Executable code
  867.  
  868. gsalloc.$(OBJ): gsalloc.c $(GX) $(memory__h) $(string__h) \
  869.   $(gsmdebug_h) $(gsstruct_h) $(gxalloc_h)
  870.  
  871. gsargs.$(OBJ): gsargs.c $(ctype__h) $(stdio__h) $(string__h)\
  872.  $(gsargs_h) $(gsexit_h) $(gsmemory_h)
  873.  
  874. gsbitops.$(OBJ): gsbitops.c $(AK) $(memory__h) $(stdio__h)\
  875.  $(gdebug_h) $(gsbitops_h) $(gstypes_h)
  876.  
  877. gsbittab.$(OBJ): gsbittab.c $(AK) $(stdpre_h) $(gsbittab_h)
  878.  
  879. # gsfemu is only used in FPU-less configurations, and currently only with gcc.
  880. # We thought using CCLEAF would produce smaller code, but it actually
  881. # produces larger code!
  882. gsfemu.$(OBJ): gsfemu.c $(AK) $(std_h)
  883.  
  884. # gsflip is not part of the standard configuration: it's rather large,
  885. # and no standard facility requires it.
  886. gsflip.$(OBJ): gsflip.c $(GX) $(gsbittab_h) $(gsflip_h)
  887.     $(CCLEAF) -I. $(srcdir)/gsflip.c
  888.  
  889. gsmemory.$(OBJ): gsmemory.c $(GX) $(malloc__h) $(memory__h) \
  890.   $(gsmdebug_h) $(gsrefct_h) $(gsstruct_h)
  891.  
  892. gsmisc.$(OBJ): gsmisc.c $(GXERR) $(gconfigv_h) \
  893.   $(malloc__h) $(math__h) $(memory__h) $(gpcheck_h) $(gxfarith_h) $(gxfixed_h)
  894.  
  895. # gsnogc currently is only used in library-only configurations.
  896. gsnogc.$(OBJ): gsnogc.c $(GX)\
  897.  $(gsgc_h) $(gsmdebug_h) $(gsstruct_h) $(gxalloc_h)
  898.  
  899. gsutil.$(OBJ): gsutil.c $(AK) $(memory__h) $(string__h) $(gconfigv_h)\
  900.  $(gstypes_h) $(gsuid_h) $(gsutil_h)
  901.  
  902. ###### Low-level facilities and utilities
  903.  
  904. ### Include files
  905.  
  906. gdevbbox_h=gdevbbox.h
  907. gdevmem_h=gdevmem.h $(gsbitops_h)
  908. gdevmrop_h=gdevmrop.h
  909.  
  910. gsccode_h=gsccode.h
  911. gsccolor_h=gsccolor.h $(gsstruct_h)
  912. gscsel_h=gscsel.h
  913. gscolor1_h=gscolor1.h
  914. gscoord_h=gscoord.h
  915. gscpm_h=gscpm.h
  916. gsdevice_h=gsdevice.h
  917. gsfcmap_h=gsfcmap.h $(gsccode_h)
  918. gsfont_h=gsfont.h
  919. gshsb_h=gshsb.h
  920. gsht_h=gsht.h
  921. gsht1_h=gsht1.h $(gsht_h)
  922. gsiparam_h=gsiparam.h
  923. gsjconf_h=gsjconf.h $(std_h)
  924. gslib_h=gslib.h
  925. gslparam_h=gslparam.h
  926. gsmatrix_h=gsmatrix.h
  927. gspaint_h=gspaint.h
  928. gsparam_h=gsparam.h
  929. gspath2_h=gspath2.h
  930. gspenum_h=gspenum.h
  931. gsropt_h=gsropt.h
  932. gsxfont_h=gsxfont.h
  933. # Out of order
  934. gschar_h=gschar.h $(gsccode_h) $(gscpm_h)
  935. gscolor2_h=gscolor2.h $(gsccolor_h) $(gsuid_h) $(gxbitmap_h)
  936. gsimage_h=gsimage.h $(gsiparam_h)
  937. gsline_h=gsline.h $(gslparam_h)
  938. gspath_h=gspath.h $(gspenum_h)
  939. gsrop_h=gsrop.h $(gsropt_h)
  940.  
  941. gxbcache_h=gxbcache.h $(gxbitmap_h)
  942. gxchar_h=gxchar.h $(gschar_h)
  943. gxcindex_h=gxcindex.h
  944. gxcvalue_h=gxcvalue.h
  945. gxclio_h=gxclio.h
  946. gxclip2_h=gxclip2.h
  947. gxcolor2_h=gxcolor2.h $(gscolor2_h) $(gsrefct_h) $(gxbitmap_h)
  948. gxcoord_h=gxcoord.h $(gscoord_h)
  949. gxcpath_h=gxcpath.h
  950. gxdda_h=gxdda.h
  951. gxdevrop_h=gxdevrop.h
  952. gxdevmem_h=gxdevmem.h
  953. gxdither_h=gxdither.h
  954. gxfcmap_h=gxfcmap.h $(gsfcmap_h) $(gsuid_h)
  955. gxfont0_h=gxfont0.h
  956. gxfrac_h=gxfrac.h
  957. gxftype_h=gxftype.h
  958. gxhttile_h=gxhttile.h
  959. gxhttype_h=gxhttype.h
  960. gxiodev_h=gxiodev.h $(stat__h)
  961. gxline_h=gxline.h $(gslparam_h)
  962. gxlum_h=gxlum.h
  963. gxmatrix_h=gxmatrix.h $(gsmatrix_h)
  964. gxpaint_h=gxpaint.h
  965. gxpath_h=gxpath.h $(gscpm_h) $(gslparam_h) $(gspenum_h)
  966. gxpcache_h=gxpcache.h
  967. gxpcolor_h=gxpcolor.h $(gxpcache_h)
  968. gxsample_h=gxsample.h
  969. gxstate_h=gxstate.h
  970. gxtmap_h=gxtmap.h
  971. gxxfont_h=gxxfont.h $(gsccode_h) $(gsmatrix_h) $(gsuid_h) $(gsxfont_h)
  972. # The following are out of order because they include other files.
  973. gsdcolor_h=gsdcolor.h $(gsccolor_h) $(gxarith_h) $(gxbitmap_h) $(gxcindex_h) $(gxhttile_h)
  974. gxdcolor_h=gxdcolor.h $(gscsel_h) $(gsdcolor_h) $(gsropt_h) $(gsstruct_h)
  975. gxdevice_h=gxdevice.h $(stdio__h) $(gsdcolor_h) $(gsiparam_h) $(gsmatrix_h) \
  976.   $(gsropt_h) $(gsstruct_h) $(gsxfont_h) \
  977.   $(gxbitmap_h) $(gxcindex_h) $(gxcvalue_h) $(gxfixed_h)
  978. gxdht_h=gxdht.h $(gsrefct_h) $(gxarith_h) $(gxhttype_h)
  979. gxctable_h=gxctable.h $(gxfixed_h) $(gxfrac_h)
  980. gxfcache_h=gxfcache.h $(gsuid_h) $(gsxfont_h) $(gxbcache_h) $(gxftype_h)
  981. gxfont_h=gxfont.h $(gsfont_h) $(gsuid_h) $(gsstruct_h) $(gxftype_h)
  982. gscie_h=gscie.h $(gsrefct_h) $(gxctable_h)
  983. gscsepr_h=gscsepr.h
  984. gscspace_h=gscspace.h
  985. gxdcconv_h=gxdcconv.h $(gxfrac_h)
  986. gxfmap_h=gxfmap.h $(gsrefct_h) $(gxfrac_h) $(gxtmap_h)
  987. gxistate_h=gxistate.h $(gscsel_h) $(gsropt_h) $(gxcvalue_h) $(gxfixed_h) $(gxline_h) $(gxmatrix_h) $(gxtmap_h)
  988. gxclist_h=gxclist.h $(gscspace_h) $(gxbcache_h) $(gxclio_h) $(gxistate_h)
  989. gxcmap_h=gxcmap.h $(gscsel_h) $(gxcvalue_h) $(gxfmap_h)
  990. gxcspace_h=gxcspace.h $(gscspace_h) $(gsccolor_h) $(gscsel_h) $(gsstruct_h) $(gxfrac_h)
  991. gxht_h=gxht.h $(gsht1_h) $(gsrefct_h) $(gxhttype_h) $(gxtmap_h)
  992. gscolor_h=gscolor.h $(gxtmap_h)
  993. gsstate_h=gsstate.h $(gscolor_h) $(gscsel_h) $(gsdevice_h) $(gsht_h) $(gsline_h)
  994.  
  995. gzacpath_h=gzacpath.h
  996. gzcpath_h=gzcpath.h $(gxcpath_h)
  997. gzht_h=gzht.h $(gscsel_h) $(gxdht_h) $(gxfmap_h) $(gxht_h) $(gxhttile_h)
  998. gzline_h=gzline.h $(gxline_h)
  999. gzpath_h=gzpath.h $(gsstruct_h) $(gxpath_h)
  1000. gzstate_h=gzstate.h $(gscpm_h) $(gsrefct_h) $(gsstate_h)\
  1001.  $(gxdcolor_h) $(gxistate_h) $(gxstate_h)
  1002.  
  1003. gdevprn_h=gdevprn.h $(memory__h) $(string__h) $(gx_h) \
  1004.   $(gserrors_h) $(gsmatrix_h) $(gsparam_h) $(gsutil_h) \
  1005.   $(gxdevice_h) $(gxdevmem_h) $(gxclist_h)
  1006.  
  1007. sa85x_h=sa85x.h
  1008. sbtx_h=sbtx.h
  1009. scanchar_h=scanchar.h
  1010. scommon_h=scommon.h $(gsmemory_h) $(gstypes_h) $(gsstruct_h)
  1011. sdct_h=sdct.h
  1012. shc_h=shc.h $(gsbittab_h)
  1013. siscale_h=siscale.h $(gconfigv_h)
  1014. sjpeg_h=sjpeg.h
  1015. slzwx_h=slzwx.h
  1016. spcxx_h=spcxx.h
  1017. spdiffx_h=spdiffx.h
  1018. spngpx_h=spngpx.h
  1019. srlx_h=srlx.h
  1020. sstring_h=sstring.h
  1021. strimpl_h=strimpl.h $(scommon_h) $(gstypes_h) $(gsstruct_h)
  1022. szlibx_h=szlibx.h
  1023. # Out of order
  1024. scf_h=scf.h $(shc_h)
  1025. scfx_h=scfx.h $(shc_h)
  1026. gximage_h=gximage.h $(gsiparam_h) $(gxcspace_h) $(gxdda_h) $(gxsample_h)\
  1027.  $(siscale_h) $(strimpl_h)
  1028.  
  1029. ### Executable code
  1030.  
  1031. # gconfig and gscdefs are handled specially.  Currently they go in psbase
  1032. # rather than in libcore, which is clearly wrong.
  1033. gconfig=gconfig$(CONFIG)
  1034. $(gconfig).$(OBJ): gconf.c $(GX) \
  1035.   $(gscdefs_h) $(gconfig_h) $(gxdevice_h) $(gxiodev_h) $(MAKEFILE)
  1036.     $(RM_) gconfig.h
  1037.     $(RM_) $(gconfig).c
  1038.     $(CP_) $(gconfig_h) gconfig.h
  1039.     $(CP_) $(srcdir)/gconf.c $(gconfig).c
  1040.     $(CCC) -I. -I$(srcdir) $(gconfig).c
  1041.     $(RM_) gconfig.h
  1042.     $(RM_) $(gconfig).c
  1043.  
  1044. gscdefs=gscdefs$(CONFIG)
  1045. $(gscdefs).$(OBJ): gscdef.c $(stdpre_h) $(gscdefs_h) $(gconfig_h) $(MAKEFILE)
  1046.     $(RM_) gconfig.h
  1047.     $(RM_) $(gscdefs).c
  1048.     $(CP_) $(gconfig_h) gconfig.h
  1049.     $(CP_) $(srcdir)/gscdef.c $(gscdefs).c
  1050.     $(CCC) -I. -I$(srcdir) $(gscdefs).c
  1051.     $(RM_) gconfig.h
  1052.     $(RM_) $(gscdefs).c
  1053.  
  1054. gxacpath.$(OBJ): gxacpath.c $(GXERR) \
  1055.   $(gsdcolor_h) $(gsrop_h) $(gsstruct_h) $(gsutil_h) \
  1056.   $(gxdevice_h) $(gxfixed_h) $(gxpaint_h) \
  1057.   $(gzacpath_h) $(gzcpath_h) $(gzpath_h)
  1058.  
  1059. gxbcache.$(OBJ): gxbcache.c $(GX) $(memory__h) \
  1060.   $(gsmdebug_h) $(gxbcache_h)
  1061.  
  1062. gxccache.$(OBJ): gxccache.c $(GXERR) $(gpcheck_h) \
  1063.   $(gscspace_h) $(gsimage_h) $(gsstruct_h) \
  1064.   $(gxchar_h) $(gxdevice_h) $(gxdevmem_h) $(gxfcache_h) \
  1065.   $(gxfixed_h) $(gxfont_h) $(gxhttile_h) $(gxmatrix_h) $(gxxfont_h) \
  1066.   $(gzstate_h) $(gzpath_h) $(gzcpath_h) 
  1067.  
  1068. gxccman.$(OBJ): gxccman.c $(GXERR) $(memory__h) $(gpcheck_h)\
  1069.  $(gsbitops_h) $(gsstruct_h) $(gsutil_h) $(gxfixed_h) $(gxmatrix_h)\
  1070.  $(gxdevice_h) $(gxdevmem_h) $(gxfont_h) $(gxfcache_h) $(gxchar_h)\
  1071.  $(gxxfont_h) $(gzstate_h) $(gzpath_h)
  1072.  
  1073. gxcht.$(OBJ): gxcht.c $(GXERR) $(memory__h)\
  1074.  $(gsutil_h)\
  1075.  $(gxcmap_h) $(gxdcolor_h) $(gxdevice_h) $(gxfixed_h) $(gxistate_h)\
  1076.  $(gxmatrix_h) $(gzht_h)
  1077.  
  1078. gxcmap.$(OBJ): gxcmap.c $(GXERR) \
  1079.   $(gsccolor_h) \
  1080.   $(gxcmap_h) $(gxcspace_h) $(gxdcconv_h) $(gxdevice_h) $(gxdither_h) \
  1081.   $(gxfarith_h) $(gxfrac_h) $(gxlum_h) $(gzstate_h)
  1082.  
  1083. gxcpath.$(OBJ): gxcpath.c $(GXERR)\
  1084.  $(gscoord_h) $(gsstruct_h) $(gsutil_h)\
  1085.  $(gxdevice_h) $(gxfixed_h) $(gzpath_h) $(gzcpath_h)
  1086.  
  1087. gxdcconv.$(OBJ): gxdcconv.c $(GX) \
  1088.   $(gsdcolor_h) $(gxcmap_h) $(gxdcconv_h) $(gxdevice_h) \
  1089.   $(gxfarith_h) $(gxistate_h) $(gxlum_h)
  1090.  
  1091. gxdcolor.$(OBJ): gxdcolor.c $(GX) \
  1092.   $(gsbittab_h) $(gxdcolor_h) $(gxdevice_h)
  1093.  
  1094. gxdither.$(OBJ): gxdither.c $(GX) \
  1095.   $(gsstruct_h) $(gsdcolor_h) \
  1096.   $(gxcmap_h) $(gxdevice_h) $(gxdither_h) $(gxlum_h) $(gzht_h)
  1097.  
  1098. gxfill.$(OBJ): gxfill.c $(GXERR) $(math__h) \
  1099.   $(gsstruct_h) \
  1100.   $(gxdcolor_h) $(gxdevice_h) $(gxfixed_h) $(gxhttile_h) \
  1101.   $(gxistate_h) $(gxpaint_h) \
  1102.   $(gzcpath_h) $(gzpath_h)
  1103.  
  1104. gxht.$(OBJ): gxht.c $(GXERR) $(memory__h)\
  1105.  $(gsbitops_h) $(gsstruct_h) $(gsutil_h)\
  1106.  $(gxdcolor_h) $(gxdevice_h) $(gxfixed_h) $(gxistate_h) $(gzht_h)
  1107.  
  1108. gximage.$(OBJ): gximage.c $(GXERR) $(math__h) $(memory__h) $(gpcheck_h)\
  1109.  $(gsccolor_h) $(gspaint_h) $(gsstruct_h)\
  1110.  $(gxfixed_h) $(gxfrac_h) $(gxarith_h) $(gxmatrix_h)\
  1111.  $(gxdevice_h) $(gzpath_h) $(gzstate_h)\
  1112.  $(gzcpath_h) $(gxdevmem_h) $(gximage_h) $(gdevmrop_h)
  1113.  
  1114. gximage0.$(OBJ): gximage0.c $(GXERR) $(memory__h)\
  1115.  $(gxcpath_h) $(gxdevice_h) $(gximage_h)
  1116.  
  1117. gximage1.$(OBJ): gximage1.c $(GXERR) $(memory__h) $(gpcheck_h)\
  1118.  $(gdevmem_h) $(gsbittab_h) $(gsccolor_h) $(gspaint_h) $(gsutil_h)\
  1119.  $(gxarith_h) $(gxcmap_h) $(gxcpath_h) $(gxdcolor_h) $(gxdevice_h)\
  1120.  $(gxdevmem_h) $(gxfixed_h) $(gximage_h) $(gxistate_h) $(gxmatrix_h)\
  1121.  $(gzht_h) $(gzpath_h)
  1122.  
  1123. gximage2.$(OBJ): gximage2.c $(GXERR) $(memory__h) $(gpcheck_h)\
  1124.  $(gdevmem_h) $(gsccolor_h) $(gspaint_h) $(gsutil_h)\
  1125.  $(gxarith_h) $(gxcmap_h) $(gxcpath_h) $(gxdcolor_h) $(gxdevice_h)\
  1126.  $(gxdevmem_h) $(gxfixed_h) $(gximage_h) $(gxistate_h) $(gxmatrix_h)\
  1127.  $(gzht_h) $(gzpath_h)
  1128.  
  1129. gxpaint.$(OBJ): gxpaint.c $(GX) \
  1130.   $(gxdevice_h) $(gxhttile_h) $(gxpaint_h) $(gxpath_h) $(gzstate_h)
  1131.  
  1132. gxpath.$(OBJ): gxpath.c $(GXERR) \
  1133.   $(gsstruct_h) $(gxfixed_h) $(gzpath_h)
  1134.  
  1135. gxpath2.$(OBJ): gxpath2.c $(GXERR) $(math__h) \
  1136.   $(gxfixed_h) $(gxarith_h) $(gzpath_h)
  1137.  
  1138. gxpcopy.$(OBJ): gxpcopy.c $(GXERR) $(math__h) $(gconfigv_h) \
  1139.   $(gxfarith_h) $(gxfixed_h) $(gzpath_h)
  1140.  
  1141. gxpdash.$(OBJ): gxpdash.c $(GX) $(math__h) \
  1142.   $(gscoord_h) $(gsline_h) $(gsmatrix_h) \
  1143.   $(gxfixed_h) $(gzline_h) $(gzpath_h)
  1144.  
  1145. gxpflat.$(OBJ): gxpflat.c $(GX)\
  1146.  $(gxarith_h) $(gxfixed_h) $(gzpath_h)
  1147.  
  1148. gxsample.$(OBJ): gxsample.c $(GX)\
  1149.  $(gxsample_h)
  1150.  
  1151. gxstroke.$(OBJ): gxstroke.c $(GXERR) $(math__h) $(gpcheck_h) \
  1152.   $(gscoord_h) $(gsdcolor_h) $(gsdevice_h) \
  1153.   $(gxdevice_h) $(gxfarith_h) $(gxfixed_h) \
  1154.   $(gxhttile_h) $(gxistate_h) $(gxmatrix_h) $(gxpaint_h) \
  1155.   $(gzcpath_h) $(gzline_h) $(gzpath_h)
  1156.  
  1157. ###### Higher-level facilities
  1158.  
  1159. gschar.$(OBJ): gschar.c $(GXERR) $(memory__h) $(string__h)\
  1160.  $(gspath_h) $(gsstruct_h) \
  1161.  $(gxfixed_h) $(gxarith_h) $(gxmatrix_h) $(gxcoord_h) $(gxdevice_h) $(gxdevmem_h) \
  1162.  $(gxfont_h) $(gxfont0_h) $(gxchar_h) $(gxfcache_h) $(gzpath_h) $(gzstate_h)
  1163.  
  1164. gscolor.$(OBJ): gscolor.c $(GXERR) \
  1165.   $(gsccolor_h) $(gsstruct_h) $(gsutil_h) \
  1166.   $(gxcmap_h) $(gxcspace_h) $(gxdcconv_h) $(gxdevice_h) $(gzstate_h)
  1167.  
  1168. gscoord.$(OBJ): gscoord.c $(GXERR) $(math__h) \
  1169.   $(gsccode_h) $(gxcoord_h) $(gxdevice_h) $(gxfarith_h) $(gxfixed_h) $(gxfont_h) \
  1170.   $(gxmatrix_h) $(gxpath_h) $(gzstate_h)
  1171.  
  1172. gsdevice.$(OBJ): gsdevice.c $(GXERR) $(ctype__h) $(memory__h) $(string__h) $(gp_h)\
  1173.  $(gscdefs_h) $(gscoord_h) $(gsmatrix_h) $(gspaint_h) $(gspath_h) $(gsstruct_h)\
  1174.  $(gxcmap_h) $(gxdevice_h) $(gxdevmem_h) $(gzstate_h)
  1175.  
  1176. gsdevmem.$(OBJ): gsdevmem.c $(GXERR) $(math__h) $(memory__h) \
  1177.   $(gxarith_h) $(gxdevice_h) $(gxdevmem_h)
  1178.  
  1179. gsdparam.$(OBJ): gsdparam.c $(GXERR) $(memory__h) $(string__h) \
  1180.   $(gsparam_h) $(gxdevice_h) $(gxfixed_h)
  1181.  
  1182. gsfont.$(OBJ): gsfont.c $(GXERR) $(memory__h)\
  1183.  $(gschar_h) $(gsstruct_h) \
  1184.  $(gxdevice_h) $(gxfixed_h) $(gxmatrix_h) $(gxfont_h) $(gxfcache_h)\
  1185.  $(gzstate_h)
  1186.  
  1187. gsht.$(OBJ): gsht.c $(GXERR) $(memory__h)\
  1188.  $(gsstruct_h) $(gsutil_h) $(gxarith_h) $(gxdevice_h) $(gzht_h) $(gzstate_h)
  1189.  
  1190. gshtscr.$(OBJ): gshtscr.c $(GXERR) $(math__h) \
  1191.   $(gsstruct_h) $(gxarith_h) $(gxdevice_h) $(gzht_h) $(gzstate_h)
  1192.  
  1193. gsimage.$(OBJ): gsimage.c $(GXERR) $(memory__h)\
  1194.   $(gscspace_h) $(gsimage_h) $(gsmatrix_h) $(gsstruct_h) \
  1195.   $(gxarith_h) $(gxdevice_h) $(gzstate_h)
  1196.  
  1197. gsimpath.$(OBJ): gsimpath.c $(GXERR) \
  1198.   $(gsmatrix_h) $(gsstate_h) $(gspath_h)
  1199.  
  1200. gsinit.$(OBJ): gsinit.c $(memory__h) $(stdio__h) \
  1201.   $(gdebug_h) $(gp_h) $(gscdefs_h) $(gslib_h) $(gsmemory_h)
  1202.  
  1203. gsiodev.$(OBJ): gsiodev.c $(GXERR) $(errno__h) $(string__h) \
  1204.   $(gp_h) $(gsparam_h) $(gxiodev_h)
  1205.  
  1206. gsline.$(OBJ): gsline.c $(GXERR) $(math__h) $(memory__h)\
  1207.  $(gsline_h) $(gxfixed_h) $(gxmatrix_h) $(gzstate_h) $(gzline_h)
  1208.  
  1209. gsmatrix.$(OBJ): gsmatrix.c $(GXERR) $(math__h) \
  1210.   $(gxfarith_h) $(gxfixed_h) $(gxmatrix_h)
  1211.  
  1212. gspaint.$(OBJ): gspaint.c $(GXERR) $(math__h) $(gpcheck_h)\
  1213.  $(gspaint_h) $(gspath_h) $(gsropt_h)\
  1214.  $(gxcpath_h) $(gxdevmem_h) $(gxdevice_h) $(gxfixed_h) $(gxmatrix_h) $(gxpaint_h)\
  1215.  $(gzpath_h) $(gzstate_h)
  1216.  
  1217. gsparam.$(OBJ): gsparam.c $(GXERR) $(memory__h) $(string__h)\
  1218.  $(gsparam_h) $(gsstruct_h)
  1219.  
  1220. gspath.$(OBJ): gspath.c $(GXERR) \
  1221.   $(gscoord_h) $(gxdevice_h) $(gxfixed_h) $(gxmatrix_h) \
  1222.   $(gzcpath_h) $(gzpath_h) $(gzstate_h)
  1223.  
  1224. gsstate.$(OBJ): gsstate.c $(GXERR) $(memory__h)\
  1225.  $(gscie_h) $(gscolor2_h) $(gscoord_h) $(gspath_h) $(gsstruct_h) $(gsutil_h) \
  1226.  $(gxcmap_h) $(gxcspace_h) $(gxdevice_h) $(gxpcache_h) \
  1227.  $(gzstate_h) $(gzht_h) $(gzline_h) $(gzpath_h) $(gzcpath_h)
  1228.  
  1229. ###### The internal devices
  1230.  
  1231. ### The built-in device implementations:
  1232.  
  1233. # The bounding box device is not normally a free-standing device.
  1234. # To configure it as one for testing, change SETMOD to SETDEV, and also
  1235. # define TEST in gdevbbox.c.
  1236. bbox.dev: $(LIB_MAK) $(ECHOGS_XE) gdevbbox.$(OBJ)
  1237.     $(SETMOD) bbox gdevbbox.$(OBJ)
  1238.  
  1239. gdevbbox.$(OBJ): gdevbbox.c $(GXERR) $(math__h) $(memory__h) \
  1240.   $(gdevbbox_h) $(gsdevice_h) $(gsparam_h) \
  1241.   $(gxcpath_h) $(gxdevice_h) $(gxistate_h) $(gxpaint_h) $(gxpath_h)
  1242.  
  1243. gdevddrw.$(OBJ): gdevddrw.c $(GXERR) $(math__h) $(gpcheck_h) \
  1244.   $(gxdcolor_h) $(gxdevice_h) $(gxfixed_h) $(gxmatrix_h)
  1245.  
  1246. gdevdflt.$(OBJ): gdevdflt.c $(GXERR) $(gpcheck_h)\
  1247.  $(gsbittab_h) $(gsropt_h)\
  1248.  $(gxcpath_h) $(gxdcolor_h) $(gxdevice_h) $(gxdevmem_h)
  1249.  
  1250. gdevnfwd.$(OBJ): gdevnfwd.c $(GX) \
  1251.   $(gxdevice_h)
  1252.  
  1253. # The render/RGB device is only here as an example, but we can configure
  1254. # it as a real device for testing.
  1255. rrgb.dev: $(LIB_MAK) $(ECHOGS_XE) gdevrrgb.$(OBJ) page.dev
  1256.     $(SETPDEV) rrgb gdevrrgb.$(OBJ)
  1257.  
  1258. gdevrrgb.$(OBJ): gdevrrgb.c $(AK)\
  1259.  $(gdevprn_h)
  1260.  
  1261. ### The memory devices:
  1262.  
  1263. gdevabuf.$(OBJ): gdevabuf.c $(GXERR) $(memory__h)\
  1264.  $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
  1265.  
  1266. gdevmem.$(OBJ): gdevmem.c $(GXERR) $(memory__h)\
  1267.  $(gsstruct_h) $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
  1268.  
  1269. gdevm1.$(OBJ): gdevm1.c $(GX) $(memory__h) $(gsrop_h)\
  1270.  $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
  1271.  
  1272. gdevm2.$(OBJ): gdevm2.c $(GX) $(memory__h)\
  1273.  $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
  1274.  
  1275. gdevm4.$(OBJ): gdevm4.c $(GX) $(memory__h)\
  1276.  $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
  1277.  
  1278. gdevm8.$(OBJ): gdevm8.c $(GX) $(memory__h)\
  1279.  $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
  1280.  
  1281. gdevm16.$(OBJ): gdevm16.c $(GX) $(memory__h)\
  1282.  $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
  1283.  
  1284. gdevm24.$(OBJ): gdevm24.c $(GX) $(memory__h)\
  1285.  $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
  1286.  
  1287. gdevm32.$(OBJ): gdevm32.c $(GX) $(memory__h)\
  1288.  $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
  1289.  
  1290. gdevmpla.$(OBJ): gdevmpla.c $(GX) $(memory__h)\
  1291.  $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
  1292.  
  1293. # Create a pseudo-"feature" for the entire graphics library.
  1294.  
  1295. LIB1s=gsalloc.$(OBJ) gsbitops.$(OBJ) gsbittab.$(OBJ)
  1296. LIB2s=gschar.$(OBJ) gscolor.$(OBJ) gscoord.$(OBJ) gsdevice.$(OBJ) gsdevmem.$(OBJ)
  1297. LIB3s=gsdparam.$(OBJ) gsfont.$(OBJ) gsht.$(OBJ) gshtscr.$(OBJ)
  1298. LIB4s=gsimage.$(OBJ) gsimpath.$(OBJ) gsinit.$(OBJ) gsiodev.$(OBJ)
  1299. LIB5s=gsline.$(OBJ) gsmatrix.$(OBJ) gsmemory.$(OBJ) gsmisc.$(OBJ)
  1300. LIB6s=gspaint.$(OBJ) gsparam.$(OBJ) gspath.$(OBJ) gsstate.$(OBJ) gsutil.$(OBJ)
  1301. LIB1x=gxacpath.$(OBJ) gxbcache.$(OBJ)
  1302. LIB2x=gxccache.$(OBJ) gxccman.$(OBJ) gxcht.$(OBJ) gxcmap.$(OBJ) gxcpath.$(OBJ)
  1303. LIB3x=gxdcconv.$(OBJ) gxdcolor.$(OBJ) gxdither.$(OBJ) gxfill.$(OBJ) gxht.$(OBJ)
  1304. LIB4x=gximage.$(OBJ) gximage0.$(OBJ) gximage1.$(OBJ) gximage2.$(OBJ)
  1305. LIB5x=gxpaint.$(OBJ) gxpath.$(OBJ) gxpath2.$(OBJ) gxpcopy.$(OBJ)
  1306. LIB6x=gxpdash.$(OBJ) gxpflat.$(OBJ) gxsample.$(OBJ) gxstroke.$(OBJ)
  1307. LIB1d=gdevabuf.$(OBJ) gdevddrw.$(OBJ) gdevdflt.$(OBJ) gdevnfwd.$(OBJ)
  1308. LIB2d=gdevmem.$(OBJ) gdevm1.$(OBJ) gdevm2.$(OBJ) gdevm4.$(OBJ) gdevm8.$(OBJ)
  1309. LIB3d=gdevm16.$(OBJ) gdevm24.$(OBJ) gdevm32.$(OBJ) gdevmpla.$(OBJ)
  1310. LIBs=$(LIB1s) $(LIB2s) $(LIB3s) $(LIB4s) $(LIB5s) $(LIB6s)
  1311. LIBx=$(LIB1x) $(LIB2x) $(LIB3x) $(LIB4x) $(LIB5x) $(LIB6x)
  1312. LIBd=$(LIB1d) $(LIB2d) $(LIB3d)
  1313. LIB_ALL=$(LIBs) $(LIBx) $(LIBd)
  1314. libs.dev: $(LIB_MAK) $(ECHOGS_XE) $(LIBs)
  1315.     $(EXP)echogs -w libs.dev $(LIB1s)
  1316.     $(EXP)echogs -a libs.dev $(LIB2s)
  1317.     $(EXP)echogs -a libs.dev $(LIB3s)
  1318.     $(EXP)echogs -a libs.dev $(LIB4s)
  1319.     $(EXP)echogs -a libs.dev $(LIB5s)
  1320.     $(EXP)echogs -a libs.dev $(LIB6s)
  1321.     $(ADDMOD) libs -init gscolor
  1322.  
  1323. libx.dev: $(LIB_MAK) $(ECHOGS_XE) $(LIBx)
  1324.     $(EXP)echogs -w libx.dev $(LIB1x)
  1325.     $(EXP)echogs -a libx.dev $(LIB2x)
  1326.     $(EXP)echogs -a libx.dev $(LIB3x)
  1327.     $(EXP)echogs -a libx.dev $(LIB4x)
  1328.     $(EXP)echogs -a libx.dev $(LIB5x)
  1329.     $(EXP)echogs -a libx.dev $(LIB6x)
  1330.     $(ADDMOD) libx -init gximage1 gximage2
  1331.  
  1332. libd.dev: $(LIB_MAK) $(ECHOGS_XE) $(LIBd)
  1333.     $(EXP)echogs -w libd.dev $(LIB1d)
  1334.     $(EXP)echogs -a libd.dev $(LIB2d)
  1335.     $(EXP)echogs -a libd.dev $(LIB3d)
  1336.  
  1337. # roplib shouldn't be required....
  1338. libcore.dev: $(LIB_MAK) $(ECHOGS_XE)\
  1339.   libs.dev libx.dev libd.dev iscale.dev roplib.dev
  1340.     $(SETMOD) libcore
  1341.     $(ADDMOD) libcore -dev nullpage
  1342.     $(ADDMOD) libcore -include libs libx libd iscale roplib
  1343.  
  1344. # ---------------- Stream support ---------------- #
  1345. # Currently the only things in the library that use this are clists
  1346. # and file streams.
  1347.  
  1348. stream_h=stream.h $(scommon_h)
  1349.  
  1350. stream.$(OBJ): stream.c $(AK) $(stdio__h) $(memory__h) \
  1351.   $(gdebug_h) $(gpcheck_h) $(stream_h) $(strimpl_h)
  1352.  
  1353. # ---------------- File streams ---------------- #
  1354. # Currently only the high-level drivers use these, but more drivers will
  1355. # probably use them eventually.
  1356.  
  1357. sfile_=sfx$(FILE_IMPLEMENTATION).$(OBJ) stream.$(OBJ)
  1358. sfile.dev: $(LIB_MAK) $(ECHOGS_XE) $(sfile_)
  1359.     $(SETMOD) sfile $(sfile_)
  1360.  
  1361. sfxstdio.$(OBJ): sfxstdio.c $(AK) $(stdio__h) $(memory__h) \
  1362.   $(gdebug_h) $(gpcheck_h) $(stream_h) $(strimpl_h)
  1363.  
  1364. sfxfd.$(OBJ): sfxfd.c $(AK) $(stdio__h) $(errno__h) $(memory__h) \
  1365.   $(gdebug_h) $(gpcheck_h) $(stream_h) $(strimpl_h)
  1366.  
  1367. sfxboth.$(OBJ): sfxboth.c sfxstdio.c sfxfd.c
  1368.  
  1369. # ---------------- CCITTFax filters ---------------- #
  1370. # These are used by clists, some drivers, and Level 2 in general.
  1371.  
  1372. cfe_=scfe.$(OBJ) scfetab.$(OBJ) shc.$(OBJ)
  1373. cfe.dev: $(LIB_MAK) $(ECHOGS_XE) $(cfe_)
  1374.     $(SETMOD) cfe $(cfe_)
  1375.  
  1376. scfe.$(OBJ): scfe.c $(AK) $(memory__h) $(stdio__h) $(gdebug_h)\
  1377.   $(scf_h) $(strimpl_h) $(scfx_h)
  1378.  
  1379. scfetab.$(OBJ): scfetab.c $(AK) $(std_h) $(scommon_h) $(scf_h)
  1380.  
  1381. shc.$(OBJ): shc.c $(AK) $(std_h) $(scommon_h) $(shc_h)
  1382.  
  1383. cfd_=scfd.$(OBJ) scfdtab.$(OBJ)
  1384. cfd.dev: $(LIB_MAK) $(ECHOGS_XE) $(cfd_)
  1385.     $(SETMOD) cfd $(cfd_)
  1386.  
  1387. scfd.$(OBJ): scfd.c $(AK) $(memory__h) $(stdio__h) $(gdebug_h)\
  1388.   $(scf_h) $(strimpl_h) $(scfx_h)
  1389.  
  1390. scfdtab.$(OBJ): scfdtab.c $(AK) $(std_h) $(scommon_h) $(scf_h)
  1391.  
  1392. # ---------------- DCT (JPEG) filters ---------------- #
  1393. # These are used by Level 2, and by the JPEG-writing driver.
  1394.  
  1395. # Common code
  1396.  
  1397. sdctc_=sdctc.$(OBJ) sjpegc.$(OBJ)
  1398.  
  1399. sdctc.$(OBJ): sdctc.c $(AK) $(stdio__h)\
  1400.  $(sdct_h) $(strimpl_h)\
  1401.  jpeglib.h
  1402.  
  1403. sjpegc.$(OBJ): sjpegc.c $(AK) $(stdio__h) $(string__h) $(gx_h)\
  1404.  $(gserrors_h) $(sjpeg_h) $(sdct_h) $(strimpl_h) \
  1405.  jerror.h jpeglib.h
  1406.  
  1407. # Encoding (compression)
  1408.  
  1409. sdcte_=$(sdctc_) sdcte.$(OBJ) sjpege.$(OBJ)
  1410. sdcte.dev: $(LIB_MAK) $(ECHOGS_XE) $(sdcte_) jpege.dev
  1411.     $(SETMOD) sdcte $(sdcte_)
  1412.     $(ADDMOD) sdcte -include jpege
  1413.  
  1414. sdcte.$(OBJ): sdcte.c $(AK) $(memory__h) $(stdio__h) $(gdebug_h)\
  1415.   $(sdct_h) $(sjpeg_h) $(strimpl_h) \
  1416.   jerror.h jpeglib.h
  1417.  
  1418. sjpege.$(OBJ): sjpege.c $(AK) $(stdio__h) $(string__h) $(gx_h)\
  1419.  $(gserrors_h) $(sjpeg_h) $(sdct_h) $(strimpl_h) \
  1420.  jerror.h jpeglib.h
  1421.  
  1422. # Decoding (decompression)
  1423.  
  1424. sdctd_=$(sdctc_) sdctd.$(OBJ) sjpegd.$(OBJ)
  1425. sdctd.dev: $(LIB_MAK) $(ECHOGS_XE) $(sdctd_) jpegd.dev
  1426.     $(SETMOD) sdctd $(sdctd_)
  1427.     $(ADDMOD) sdctd -include jpegd
  1428.  
  1429. sdctd.$(OBJ): sdctd.c $(AK) $(memory__h) $(stdio__h) $(gdebug_h)\
  1430.   $(sdct_h) $(sjpeg_h) $(strimpl_h) \
  1431.   jerror.h jpeglib.h
  1432.  
  1433. sjpegd.$(OBJ): sjpegd.c $(AK) $(stdio__h) $(string__h) $(gx_h)\
  1434.  $(gserrors_h) $(sjpeg_h) $(sdct_h) $(strimpl_h)\
  1435.  jerror.h jpeglib.h
  1436.  
  1437. # ---------------- LZW filters ---------------- #
  1438. # These are used by Level 2 in general.
  1439.  
  1440. slzwe_=slzwce
  1441. #slzwe_=slzwe
  1442. lzwe_=$(slzwe_).$(OBJ) slzwc.$(OBJ)
  1443. lzwe.dev: $(LIB_MAK) $(ECHOGS_XE) $(lzwe_)
  1444.     $(SETMOD) lzwe $(lzwe_)
  1445.  
  1446. # We need slzwe.dev as a synonym for lzwe.dev for BAND_LIST_STORAGE = memory.
  1447. slzwe.dev: lzwe.dev
  1448.     $(CP_) lzwe.dev slzwe.dev
  1449.  
  1450. slzwce.$(OBJ): slzwce.c $(AK) $(stdio__h) $(gdebug_h)\
  1451.   $(slzwx_h) $(strimpl_h)
  1452.  
  1453. slzwe.$(OBJ): slzwe.c $(AK) $(stdio__h) $(gdebug_h)\
  1454.   $(slzwx_h) $(strimpl_h)
  1455.  
  1456. slzwc.$(OBJ): slzwc.c $(AK) $(std_h)\
  1457.   $(slzwx_h) $(strimpl_h)
  1458.  
  1459. lzwd_=slzwd.$(OBJ) slzwc.$(OBJ)
  1460. lzwd.dev: $(LIB_MAK) $(ECHOGS_XE) $(lzwd_)
  1461.     $(SETMOD) lzwd $(lzwd_)
  1462.  
  1463. # We need slzwd.dev as a synonym for lzwd.dev for BAND_LIST_STORAGE = memory.
  1464. slzwd.dev: lzwd.dev
  1465.     $(CP_) lzwd.dev slzwd.dev
  1466.  
  1467. slzwd.$(OBJ): slzwd.c $(AK) $(stdio__h) $(gdebug_h)\
  1468.   $(slzwx_h) $(strimpl_h)
  1469.  
  1470. # ---------------- PCX decoding filter ---------------- #
  1471. # This is an adhoc filter not used by anything in the standard configuration.
  1472.  
  1473. pcxd_=spcxd.$(OBJ)
  1474. pcxd.dev: $(LIB_MAK) $(ECHOGS_XE) $(pcxd_)
  1475.     $(SETMOD) pcxd $(pcxd_)
  1476.  
  1477. spcxd.$(OBJ): spcxd.c $(AK) $(stdio__h) $(memory__h) \
  1478.   $(spcxx_h) $(strimpl_h)
  1479.  
  1480. # ---------------- Pixel-difference filters ---------------- #
  1481. # The Predictor facility of the LZW and Flate filters uses these.
  1482.  
  1483. pdiff_=spdiff.$(OBJ)
  1484. pdiff.dev: $(LIB_MAK) $(ECHOGS_XE) $(pdiff_)
  1485.     $(SETMOD) pdiff $(pdiff_)
  1486.  
  1487. spdiff.$(OBJ): spdiff.c $(AK) $(stdio__h)\
  1488.  $(spdiffx_h) $(strimpl_h)
  1489.  
  1490. # ---------------- PNG pixel prediction filters ---------------- #
  1491. # The Predictor facility of the LZW and Flate filters uses these.
  1492.  
  1493. pngp_=spngp.$(OBJ)
  1494. pngp.dev: $(LIB_MAK) $(ECHOGS_XE) $(pngp_)
  1495.     $(SETMOD) pngp $(pngp_)
  1496.  
  1497. spngp.$(OBJ): spngp.c $(AK) $(memory__h)\
  1498.   $(spngpx_h) $(strimpl_h)
  1499.  
  1500. # ---------------- RunLength filters ---------------- #
  1501. # These are used by clists and also by Level 2 in general.
  1502.  
  1503. rle_=srle.$(OBJ)
  1504. rle.dev: $(LIB_MAK) $(ECHOGS_XE) $(rle_)
  1505.     $(SETMOD) rle $(rle_)
  1506.  
  1507. srle.$(OBJ): srle.c $(AK) $(stdio__h) $(memory__h) \
  1508.   $(srlx_h) $(strimpl_h)
  1509.  
  1510. rld_=srld.$(OBJ)
  1511. rld.dev: $(LIB_MAK) $(ECHOGS_XE) $(rld_)
  1512.     $(SETMOD) rld $(rld_)
  1513.  
  1514. srld.$(OBJ): srld.c $(AK) $(stdio__h) $(memory__h) \
  1515.   $(srlx_h) $(strimpl_h)
  1516.  
  1517. # ---------------- String encoding/decoding filters ---------------- #
  1518. # These are used by the PostScript and PDF writers, and also by the
  1519. # PostScript interpreter.
  1520.  
  1521. scantab.$(OBJ): scantab.c $(AK) $(stdpre_h)\
  1522.  $(scanchar_h) $(scommon_h)
  1523.  
  1524. sfilter2.$(OBJ): sfilter2.c $(AK) $(memory__h) $(stdio__h)\
  1525.  $(sa85x_h) $(scanchar_h) $(sbtx_h) $(strimpl_h)
  1526.  
  1527. sstring.$(OBJ): sstring.c $(AK) $(stdio__h) $(memory__h) $(string__h)\
  1528.  $(scanchar_h) $(sstring_h) $(strimpl_h)
  1529.  
  1530. # ---------------- zlib filters ---------------- #
  1531. # These are used by clists and are also available as filters.
  1532.  
  1533. szlibc_=szlibc.$(OBJ)
  1534.  
  1535. szlibc.$(OBJ): szlibc.c $(AK) $(std_h) \
  1536.   $(gsmemory_h) $(gsstruct_h) $(gstypes_h) $(strimpl_h) $(szlibx_h)
  1537.     $(CCCZ) $(srcdir)/szlibc.c
  1538.  
  1539. szlibe_=$(szlibc_) szlibe.$(OBJ)
  1540. szlibe.dev: $(LIB_MAK) $(ECHOGS_XE) zlibe.dev $(szlibe_)
  1541.     $(SETMOD) szlibe $(szlibe_)
  1542.     $(ADDMOD) szlibe -include zlibe
  1543.  
  1544. szlibe.$(OBJ): szlibe.c $(AK) $(std_h) \
  1545.   $(gsmemory_h) $(strimpl_h) $(szlibx_h)
  1546.     $(CCCZ) $(srcdir)/szlibe.c
  1547.  
  1548. szlibd_=$(szlibc_) szlibd.$(OBJ)
  1549. szlibd.dev: $(LIB_MAK) $(ECHOGS_XE) zlibd.dev $(szlibd_)
  1550.     $(SETMOD) szlibd $(szlibd_)
  1551.     $(ADDMOD) szlibd -include zlibd
  1552.  
  1553. szlibd.$(OBJ): szlibd.c $(AK) $(std_h) \
  1554.   $(gsmemory_h) $(strimpl_h) $(szlibx_h)
  1555.     $(CCCZ) $(srcdir)/szlibd.c
  1556.  
  1557. # ---------------- Command lists ---------------- #
  1558.  
  1559. gxcldev_h=gxcldev.h $(gxclist_h) $(gsropt_h) $(gxht_h) $(gxtmap_h) $(gxdht_h)\
  1560.   $(strimpl_h) $(scfx_h) $(srlx_h)
  1561. gxclpage_h=gxclpage.h $(gxclio_h)
  1562. gxclpath_h=gxclpath.h $(gxfixed_h)
  1563.  
  1564. # Command list package.  Currently the higher-level facilities are required,
  1565. # but eventually they will be optional.
  1566. clist.dev: $(LIB_MAK) $(ECHOGS_XE) clbase.dev clpath.dev
  1567.     $(SETMOD) clist -include clbase clpath
  1568.  
  1569. # Base command list facility.
  1570. clbase1_=gxclist.$(OBJ) gxclbits.$(OBJ) gxclpage.$(OBJ)
  1571. clbase2_=gxclread.$(OBJ) gxclrect.$(OBJ) stream.$(OBJ)
  1572. clbase_=$(clbase1_) $(clbase2_)
  1573. clbase.dev: $(LIB_MAK) $(ECHOGS_XE) $(clbase_) cl$(BAND_LIST_STORAGE).dev \
  1574.   cfe.dev cfd.dev rle.dev rld.dev
  1575.     $(SETMOD) clbase $(clbase1_)
  1576.     $(ADDMOD) clbase -obj $(clbase2_)
  1577.     $(ADDMOD) clbase -include cl$(BAND_LIST_STORAGE) cfe cfd rle rld
  1578.  
  1579. gdevht_h=gdevht.h $(gzht_h)
  1580.  
  1581. gdevht.$(OBJ): gdevht.c $(GXERR) \
  1582.   $(gdevht_h) $(gxdcconv_h) $(gxdcolor_h) $(gxdevice_h) $(gxdither_h)
  1583.  
  1584. gxclist.$(OBJ): gxclist.c $(GXERR) $(memory__h) $(string__h)\
  1585.  $(gp_h) $(gpcheck_h)\
  1586.  $(gxcldev_h) $(gxdevice_h) $(gxdevmem_h)
  1587.  
  1588. gxclbits.$(OBJ): gxclbits.c $(GXERR) $(memory__h) $(gpcheck_h)\
  1589.  $(gsbitops_h) $(gxcldev_h) $(gxdevice_h) $(gxdevmem_h) $(gxfmap_h)
  1590.  
  1591. gxclpage.$(OBJ): gxclpage.c $(AK)\
  1592.  $(gdevprn_h) $(gxcldev_h) $(gxclpage_h)
  1593.  
  1594. # (gxclread shouldn't need gxclpath.h)
  1595. gxclread.$(OBJ): gxclread.c $(GXERR) $(memory__h) $(gp_h) $(gpcheck_h)\
  1596.  $(gdevht_h)\
  1597.  $(gsbitops_h) $(gscoord_h) $(gsdevice_h) $(gsstate_h)\
  1598.  $(gxcldev_h) $(gxclpath_h) $(gxcmap_h) $(gxcspace_h) $(gxdcolor_h)\
  1599.  $(gxdevice_h) $(gxdevmem_h)\
  1600.  $(gxhttile_h) $(gxpaint_h) $(gzacpath_h) $(gzcpath_h) $(gzpath_h)\
  1601.  $(stream_h) $(strimpl_h)
  1602.  
  1603. gxclrect.$(OBJ): gxclrect.c $(GXERR)\
  1604.  $(gsutil_h) $(gxcldev_h) $(gxdevice_h) $(gxdevmem_h)
  1605.  
  1606. # Higher-level command list facilities.
  1607. clpath_=gxclimag.$(OBJ) gxclpath.$(OBJ)
  1608. clpath.dev: $(LIB_MAK) $(ECHOGS_XE) $(clpath_) psl2cs.dev
  1609.     $(SETMOD) clpath $(clpath_)
  1610.     $(ADDMOD) clpath -include psl2cs
  1611.     $(ADDMOD) clpath -init climag clpath
  1612.  
  1613. gxclimag.$(OBJ): gxclimag.c $(GXERR) $(math__h) $(memory__h)\
  1614.  $(gscspace_h)\
  1615.  $(gxarith_h) $(gxcldev_h) $(gxclpath_h) $(gxdevice_h) $(gxdevmem_h)\
  1616.  $(gxfmap_h)\
  1617.  $(siscale_h) $(strimpl_h)
  1618.  
  1619. gxclpath.$(OBJ): gxclpath.c $(GXERR) $(math__h) $(memory__h) $(gpcheck_h)\
  1620.  $(gxcldev_h) $(gxclpath_h) $(gxcolor2_h) $(gxdevice_h) $(gxdevmem_h)\
  1621.  $(gxpaint_h) \
  1622.  $(gzcpath_h) $(gzpath_h)
  1623.  
  1624. # Implement band lists on files.
  1625.  
  1626. clfile_=gxclfile.$(OBJ)
  1627. clfile.dev: $(LIB_MAK) $(ECHOGS_XE) $(clfile_)
  1628.     $(SETMOD) clfile $(clfile_)
  1629.  
  1630. gxclfile.$(OBJ): gxclfile.c $(stdio__h) $(string__h) \
  1631.   $(gp_h) $(gsmemory_h) $(gserror_h) $(gserrors_h) $(gxclio_h)
  1632.  
  1633. # Implement band lists in memory (RAM).
  1634.  
  1635. clmemory_=gxclmem.$(OBJ) gxcl$(BAND_LIST_COMPRESSOR).$(OBJ)
  1636. clmemory.dev: $(LIB_MAK) $(ECHOGS_XE) $(clmemory_) s$(BAND_LIST_COMPRESSOR)e.dev s$(BAND_LIST_COMPRESSOR)d.dev
  1637.     $(SETMOD) clmemory $(clmemory_)
  1638.     $(ADDMOD) clmemory -include s$(BAND_LIST_COMPRESSOR)e s$(BAND_LIST_COMPRESSOR)d
  1639.     $(ADDMOD) clmemory -init cl_$(BAND_LIST_COMPRESSOR)
  1640.  
  1641. gxclmem_h=gxclmem.h $(gxclio_h) $(strimpl_h)
  1642.  
  1643. gxclmem.$(OBJ): gxclmem.c $(GXERR) $(LIB_MAK) $(memory__h) \
  1644.   $(gxclmem_h)
  1645.  
  1646. # Implement the compression method for RAM-based band lists.
  1647.  
  1648. gxcllzw.$(OBJ): gxcllzw.c $(std_h)\
  1649.  $(gsmemory_h) $(gstypes_h) $(gxclmem_h) $(slzwx_h)
  1650.  
  1651. gxclzlib.$(OBJ): gxclzlib.c $(std_h)\
  1652.  $(gsmemory_h) $(gstypes_h) $(gxclmem_h) $(szlibx_h)
  1653.     $(CCCZ) $(srcdir)/gxclzlib.c
  1654.  
  1655. # ---------------- Page devices ---------------- #
  1656. # We include this here, rather than in devs.mak, because it is more like
  1657. # a feature than a simple device.
  1658.  
  1659. page_=gdevprn.$(OBJ)
  1660. page.dev: $(LIB_MAK) $(ECHOGS_XE) $(page_) clist.dev
  1661.     $(SETMOD) page $(page_)
  1662.     $(ADDMOD) page -include clist
  1663.  
  1664. gdevprn.$(OBJ): gdevprn.c $(ctype__h) \
  1665.   $(gdevprn_h) $(gp_h) $(gsparam_h) $(gxclio_h)
  1666.  
  1667. # ---------------- Vector devices ---------------- #
  1668. # We include this here for the same reasons as page.dev.
  1669.  
  1670. gdevvec_h=gdevvec.h $(gdevbbox_h) $(gsropt_h) $(gxdevice_h) $(gxistate_h) $(stream_h)
  1671.  
  1672. vector_=gdevvec.$(OBJ)
  1673. vector.dev: $(LIB_MAK) $(ECHOGS_XE) $(vector_) bbox.dev sfile.dev
  1674.     $(SETMOD) vector $(vector_)
  1675.     $(ADDMOD) vector -include bbox sfile
  1676.  
  1677. gdevvec.$(OBJ): gdevvec.c $(GXERR) $(math__h) $(memory__h) $(string__h)\
  1678.  $(gdevvec_h) $(gp_h) $(gscspace_h) $(gsparam_h) $(gsutil_h)\
  1679.  $(gxdcolor_h) $(gxfixed_h) $(gxpaint_h)\
  1680.  $(gzcpath_h) $(gzpath_h)
  1681.  
  1682. # ---------------- Image scaling filter ---------------- #
  1683.  
  1684. iscale_=siscale.$(OBJ)
  1685. iscale.dev: $(LIB_MAK) $(ECHOGS_XE) $(iscale_)
  1686.     $(SETMOD) iscale $(iscale_)
  1687.  
  1688. siscale.$(OBJ): siscale.c $(AK) $(math__h) $(memory__h) $(stdio__h) \
  1689.   $(siscale_h) $(strimpl_h)
  1690.  
  1691. # ---------------- RasterOp et al ---------------- #
  1692. # Currently this module is required, but it should be optional.
  1693.  
  1694. roplib_=gdevmrop.$(OBJ) gsrop.$(OBJ) gsroptab.$(OBJ)
  1695. roplib.dev: $(LIB_MAK) $(ECHOGS_XE) $(roplib_)
  1696.     $(SETMOD) roplib $(roplib_)
  1697.     $(ADDMOD) roplib -init roplib
  1698.  
  1699. gdevrun.$(OBJ): gdevrun.c $(GXERR) $(memory__h) \
  1700.   $(gxdevice_h) $(gxdevmem_h)
  1701.  
  1702. gdevmrop.$(OBJ): gdevmrop.c $(GXERR) $(memory__h) \
  1703.   $(gsbittab_h) $(gsropt_h) \
  1704.   $(gxdcolor_h) $(gxdevice_h) $(gxdevmem_h) $(gxdevrop_h) \
  1705.   $(gdevmrop_h)
  1706.  
  1707. gsrop.$(OBJ): gsrop.c $(GXERR) \
  1708.   $(gsrop_h) $(gzstate_h)
  1709.  
  1710. gsroptab.$(OBJ): gsroptab.c $(stdpre_h) $(gsropt_h)
  1711.     $(CCLEAF) $(srcdir)/gsroptab.c
  1712.  
  1713. # -------- Composite (PostScript Type 0) font support -------- #
  1714.  
  1715. cmaplib_=gsfcmap.$(OBJ)
  1716. cmaplib.dev: $(LIB_MAK) $(ECHOGS_XE) $(cmaplib_)
  1717.     $(SETMOD) cmaplib $(cmaplib_)
  1718.  
  1719. gsfcmap.$(OBJ): gsfcmap.c $(GXERR)\
  1720.  $(gsstruct_h) $(gxfcmap_h)
  1721.  
  1722. psf0lib_=gschar0.$(OBJ) gsfont0.$(OBJ)
  1723. psf0lib.dev: $(LIB_MAK) $(ECHOGS_XE) cmaplib.dev $(psf0lib_)
  1724.     $(SETMOD) psf0lib $(psf0lib_)
  1725.     $(ADDMOD) psf0lib -include cmaplib
  1726.  
  1727. gschar0.$(OBJ): gschar0.c $(GXERR) $(memory__h)\
  1728.  $(gsstruct_h) $(gxfixed_h) $(gxdevice_h) $(gxdevmem_h)\
  1729.  $(gsfcmap_h) $(gxfont_h) $(gxfont0_h) $(gxchar_h)
  1730.  
  1731. gsfont0.$(OBJ): gsfont0.c $(GXERR) $(memory__h)\
  1732.  $(gsmatrix_h) $(gsstruct_h) $(gxfixed_h) $(gxdevmem_h) $(gxfcache_h)\
  1733.  $(gxfont_h) $(gxfont0_h) $(gxchar_h) $(gxdevice_h)
  1734.  
  1735. # ---------------- Pattern color ---------------- #
  1736.  
  1737. patlib_=gspcolor.$(OBJ) gxclip2.$(OBJ) gxpcmap.$(OBJ)
  1738. patlib.dev: $(LIB_MAK) $(ECHOGS_XE) cmyklib.dev psl2cs.dev $(patlib_)
  1739.     $(SETMOD) patlib -include cmyklib psl2cs
  1740.     $(ADDMOD) patlib -obj $(patlib_)
  1741.  
  1742. gspcolor.$(OBJ): gspcolor.c $(GXERR) $(math__h) \
  1743.   $(gsimage_h) $(gspath_h) $(gsrop_h) $(gsstruct_h) $(gsutil_h) \
  1744.   $(gxarith_h) $(gxcolor2_h) $(gxcoord_h) $(gxclip2_h) $(gxcspace_h) \
  1745.   $(gxdcolor_h) $(gxdevice_h) $(gxdevmem_h) \
  1746.   $(gxfixed_h) $(gxmatrix_h) $(gxpath_h) $(gxpcolor_h) $(gzstate_h)
  1747.  
  1748. gxclip2.$(OBJ): gxclip2.c $(GXERR) $(memory__h) \
  1749.   $(gsstruct_h) $(gxclip2_h) $(gxdevice_h) $(gxdevmem_h)
  1750.  
  1751. gxpcmap.$(OBJ): gxpcmap.c $(GXERR) $(math__h) $(memory__h)\
  1752.  $(gsstruct_h) $(gsutil_h)\
  1753.  $(gxcolor2_h) $(gxcspace_h) $(gxdcolor_h) $(gxdevice_h) $(gxdevmem_h)\
  1754.  $(gxfixed_h) $(gxmatrix_h) $(gxpcolor_h)\
  1755.  $(gzcpath_h) $(gzpath_h) $(gzstate_h)
  1756.  
  1757. # ---------------- PostScript Type 1 (and Type 4) fonts ---------------- #
  1758.  
  1759. type1lib_=gxtype1.$(OBJ) gxhint1.$(OBJ) gxhint2.$(OBJ) gxhint3.$(OBJ)
  1760.  
  1761. gscrypt1_h=gscrypt1.h
  1762. gstype1_h=gstype1.h
  1763. gxfont1_h=gxfont1.h
  1764. gxop1_h=gxop1.h
  1765. gxtype1_h=gxtype1.h $(gscrypt1_h) $(gstype1_h) $(gxop1_h)
  1766.  
  1767. gxtype1.$(OBJ): gxtype1.c $(GXERR) $(math__h)\
  1768.  $(gsccode_h) $(gsline_h) $(gsstruct_h)\
  1769.  $(gxarith_h) $(gxcoord_h) $(gxfixed_h) $(gxmatrix_h)\
  1770.  $(gxfont_h) $(gxfont1_h) $(gxistate_h) $(gxtype1_h)\
  1771.  $(gzpath_h)
  1772.  
  1773. gxhint1.$(OBJ): gxhint1.c $(GXERR)\
  1774.  $(gxarith_h) $(gxfixed_h) $(gxmatrix_h) $(gxchar_h)\
  1775.  $(gxfont_h) $(gxfont1_h) $(gxtype1_h)
  1776.  
  1777. gxhint2.$(OBJ): gxhint2.c $(GXERR) $(memory__h)\
  1778.  $(gxarith_h) $(gxfixed_h) $(gxmatrix_h) $(gxchar_h)\
  1779.  $(gxfont_h) $(gxfont1_h) $(gxtype1_h)
  1780.  
  1781. gxhint3.$(OBJ): gxhint3.c $(GXERR) $(math__h)\
  1782.  $(gxarith_h) $(gxfixed_h) $(gxmatrix_h) $(gxchar_h)\
  1783.  $(gxfont_h) $(gxfont1_h) $(gxtype1_h)\
  1784.  $(gzpath_h)
  1785.  
  1786. # Type 1 charstrings
  1787.  
  1788. psf1lib_=gstype1.$(OBJ)
  1789. psf1lib.dev: $(LIB_MAK) $(ECHOGS_XE) $(psf1lib_) $(type1lib_)
  1790.     $(SETMOD) psf1lib $(psf1lib_)
  1791.     $(ADDMOD) psf1lib $(type1lib_)
  1792.     $(ADDMOD) psf1lib -init gstype1
  1793.  
  1794. gstype1.$(OBJ): gstype1.c $(GXERR) $(math__h) $(memory__h)\
  1795.  $(gsstruct_h)\
  1796.  $(gxarith_h) $(gxcoord_h) $(gxfixed_h) $(gxmatrix_h) $(gxchar_h)\
  1797.  $(gxfont_h) $(gxfont1_h) $(gxistate_h) $(gxtype1_h)\
  1798.  $(gzpath_h)
  1799.  
  1800. # Type 2 charstrings
  1801.  
  1802. psf2lib_=gstype2.$(OBJ)
  1803. psf2lib.dev: $(LIB_MAK) $(ECHOGS_XE) $(psf2lib_) $(type1lib_)
  1804.     $(SETMOD) psf2lib $(psf2lib_)
  1805.     $(ADDMOD) psf2lib $(type1lib_)
  1806.     $(ADDMOD) psf2lib -init gstype2
  1807.  
  1808. gstype2.$(OBJ): gstype2.c $(GXERR) $(math__h) $(memory__h)\
  1809.  $(gsstruct_h)\
  1810.  $(gxarith_h) $(gxcoord_h) $(gxfixed_h) $(gxmatrix_h) $(gxchar_h)\
  1811.  $(gxfont_h) $(gxfont1_h) $(gxistate_h) $(gxtype1_h)\
  1812.  $(gzpath_h)
  1813.  
  1814. # ---------------- TrueType and PostScript Type 42 fonts ---------------- #
  1815.  
  1816. ttflib_=gstype42.$(OBJ)
  1817. ttflib.dev: $(LIB_MAK) $(ECHOGS_XE) $(ttflib_)
  1818.     $(SETMOD) ttflib $(ttflib_)
  1819.  
  1820. gxfont42_h=gxfont42.h
  1821.  
  1822. gstype42.$(OBJ): gstype42.c $(GXERR) $(memory__h) \
  1823.   $(gsccode_h) $(gsmatrix_h) $(gsstruct_h) \
  1824.   $(gxfixed_h) $(gxfont_h) $(gxfont42_h) $(gxistate_h) $(gxpath_h)
  1825.  
  1826. # -------- Level 1 color extensions (CMYK color and colorimage) -------- #
  1827.  
  1828. cmyklib_=gscolor1.$(OBJ) gsht1.$(OBJ)
  1829. cmyklib.dev: $(LIB_MAK) $(ECHOGS_XE) $(cmyklib_)
  1830.     $(SETMOD) cmyklib $(cmyklib_)
  1831.     $(ADDMOD) cmyklib -init gscolor1
  1832.  
  1833. gscolor1.$(OBJ): gscolor1.c $(GXERR) \
  1834.   $(gsccolor_h) $(gscolor1_h) $(gsstruct_h) $(gsutil_h) \
  1835.   $(gxcmap_h) $(gxcspace_h) $(gxdcconv_h) $(gxdevice_h) \
  1836.   $(gzstate_h)
  1837.  
  1838. gsht1.$(OBJ): gsht1.c $(GXERR) $(memory__h)\
  1839.  $(gsstruct_h) $(gsutil_h) $(gxdevice_h) $(gzht_h) $(gzstate_h)
  1840.  
  1841. colimlib_=gximage3.$(OBJ)
  1842. colimlib.dev: $(LIB_MAK) $(ECHOGS_XE) $(colimlib_)
  1843.     $(SETMOD) colimlib $(colimlib_)
  1844.     $(ADDMOD) colimlib -init gximage3
  1845.  
  1846. gximage3.$(OBJ): gximage3.c $(GXERR) $(memory__h) $(gpcheck_h)\
  1847.  $(gsccolor_h) $(gspaint_h)\
  1848.  $(gxarith_h) $(gxcmap_h) $(gxcpath_h) $(gxdcconv_h) $(gxdcolor_h)\
  1849.  $(gxdevice_h) $(gxdevmem_h) $(gxfixed_h) $(gxfrac_h)\
  1850.  $(gximage_h) $(gxistate_h) $(gxmatrix_h)\
  1851.  $(gzpath_h) $(gzstate_h)
  1852.  
  1853. # ---------------- HSB color ---------------- #
  1854.  
  1855. hsblib_=gshsb.$(OBJ)
  1856. hsblib.dev: $(LIB_MAK) $(ECHOGS_XE) $(hsblib_)
  1857.     $(SETMOD) hsblib $(hsblib_)
  1858.  
  1859. gshsb.$(OBJ): gshsb.c $(GX) \
  1860.   $(gscolor_h) $(gshsb_h) $(gxfrac_h)
  1861.  
  1862. # ---- Level 1 path miscellany (arcs, pathbbox, path enumeration) ---- #
  1863.  
  1864. path1lib_=gspath1.$(OBJ)
  1865. path1lib.dev: $(LIB_MAK) $(ECHOGS_XE) $(path1lib_)
  1866.     $(SETMOD) path1lib $(path1lib_)
  1867.  
  1868. gspath1.$(OBJ): gspath1.c $(GXERR) $(math__h) \
  1869.   $(gscoord_h) $(gspath_h) $(gsstruct_h) \
  1870.   $(gxfarith_h) $(gxfixed_h) $(gxmatrix_h) \
  1871.   $(gzstate_h) $(gzpath_h)
  1872.  
  1873. # --------------- Level 2 color space and color image support --------------- #
  1874.  
  1875. psl2cs_=gscolor2.$(OBJ)
  1876. psl2cs.dev: $(LIB_MAK) $(ECHOGS_XE) $(psl2cs_)
  1877.     $(SETMOD) psl2cs $(psl2cs_)
  1878.  
  1879. gscolor2.$(OBJ): gscolor2.c $(GXERR) \
  1880.   $(gxarith_h) $(gxcolor2_h) $(gxcspace_h) $(gxfixed_h) $(gxmatrix_h) \
  1881.   $(gzstate_h)
  1882.  
  1883. psl2lib_=gximage4.$(OBJ) gximage5.$(OBJ)
  1884. psl2lib.dev: $(LIB_MAK) $(ECHOGS_XE) $(psl2lib_) colimlib.dev psl2cs.dev
  1885.     $(SETMOD) psl2lib $(psl2lib_)
  1886.     $(ADDMOD) psl2lib -init gximage4 gximage5
  1887.     $(ADDMOD) psl2lib -include colimlib psl2cs
  1888.  
  1889. gximage4.$(OBJ): gximage4.c $(GXERR) $(memory__h) $(gpcheck_h)\
  1890.  $(gsccolor_h) $(gspaint_h)\
  1891.  $(gxarith_h) $(gxcmap_h) $(gxcpath_h) $(gxdcolor_h) $(gxdevice_h)\
  1892.  $(gxdevmem_h) $(gxfixed_h) $(gxfrac_h) $(gximage_h) $(gxistate_h)\
  1893.  $(gxmatrix_h)\
  1894.  $(gzpath_h)
  1895.  
  1896. gximage5.$(OBJ): gximage5.c $(GXERR) $(math__h) $(memory__h) $(gpcheck_h)\
  1897.  $(gsccolor_h) $(gspaint_h)\
  1898.  $(gxarith_h) $(gxcmap_h) $(gxcpath_h) $(gxdcolor_h) $(gxdevice_h)\
  1899.  $(gxdevmem_h) $(gxfixed_h) $(gxfrac_h) $(gximage_h) $(gxistate_h)\
  1900.  $(gxmatrix_h)\
  1901.  $(gzpath_h)
  1902.  
  1903. # ---------------- Display Postscript / Level 2 support ---------------- #
  1904.  
  1905. dps2lib_=gsdps1.$(OBJ)
  1906. dps2lib.dev: $(LIB_MAK) $(ECHOGS_XE) $(dps2lib_)
  1907.     $(SETMOD) dps2lib $(dps2lib_)
  1908.  
  1909. gsdps1.$(OBJ): gsdps1.c $(GXERR) $(math__h)\
  1910.  $(gscoord_h) $(gsmatrix_h) $(gspaint_h) $(gspath_h) $(gspath2_h)\
  1911.  $(gxdevice_h) $(gxfixed_h) $(gxmatrix_h) $(gzcpath_h) $(gzpath_h) $(gzstate_h)
  1912.  
  1913. # ---------------- Display Postscript extensions ---------------- #
  1914.  
  1915. gsdps_h=gsdps.h
  1916.  
  1917. dpslib_=gsdps.$(OBJ)
  1918. dpslib.dev: $(LIB_MAK) $(ECHOGS_XE) $(dpslib_)
  1919.     $(SETMOD) dpslib $(dpslib_)
  1920.  
  1921. gsdps.$(OBJ): gsdps.c $(GX) $(gsdps_h)\
  1922.  $(gsdps_h) $(gspath_h) $(gxdevice_h) $(gzcpath_h) $(gzpath_h) $(gzstate_h)
  1923.  
  1924. # ---------------- CIE color ---------------- #
  1925.  
  1926. cielib_=gscie.$(OBJ) gxctable.$(OBJ)
  1927. cielib.dev: $(LIB_MAK) $(ECHOGS_XE) $(cielib_)
  1928.     $(SETMOD) cielib $(cielib_)
  1929.  
  1930. gscie.$(OBJ): gscie.c $(GXERR) $(math__h) \
  1931.   $(gscie_h) $(gscolor2_h) $(gsmatrix_h) $(gsstruct_h) \
  1932.   $(gxarith_h) $(gxcmap_h) $(gxcspace_h) $(gxdevice_h) $(gzstate_h)
  1933.  
  1934. gxctable.$(OBJ): gxctable.c $(GX) \
  1935.   $(gxfixed_h) $(gxfrac_h) $(gxctable_h)
  1936.  
  1937. # ---------------- Separation colors ---------------- #
  1938.  
  1939. seprlib_=gscsepr.$(OBJ)
  1940. seprlib.dev: $(LIB_MAK) $(ECHOGS_XE) $(seprlib_)
  1941.     $(SETMOD) seprlib $(seprlib_)
  1942.  
  1943. gscsepr.$(OBJ): gscsepr.c $(GXERR)\
  1944.  $(gscsepr_h) $(gsmatrix_h) $(gsrefct_h)\
  1945.  $(gxcolor2_h) $(gxcspace_h) $(gxfixed_h) $(gzstate_h)
  1946.  
  1947. # ---------------- Functions ---------------- #
  1948.  
  1949. gsdsrc_h=gsdsrc.h $(gsstruct_h)
  1950. gsfunc_h=gsfunc.h
  1951. gsfunc0_h=gsfunc0.h $(gsdsrc_h) $(gsfunc_h)
  1952. gxfunc_h=gxfunc.h $(gsfunc_h) $(gsstruct_h)
  1953.  
  1954. # Generic support, and FunctionType 0.
  1955. funclib_=gsdsrc.$(OBJ) gsfunc.$(OBJ) gsfunc0.$(OBJ)
  1956. funclib.dev: $(LIB_MAK) $(ECHOGS_XE) $(funclib_)
  1957.     $(SETMOD) funclib $(funclib_)
  1958.  
  1959. gsdsrc.$(OBJ): gsdsrc.c $(GX) $(memory__h)\
  1960.  $(gsdsrc_h) $(gserrors_h) $(stream_h)
  1961.  
  1962. gsfunc.$(OBJ): gsfunc.c $(GX)\
  1963.  $(gserrors_h) $(gxfunc_h)
  1964.  
  1965. gsfunc0.$(OBJ): gsfunc0.c $(GX) $(math__h)\
  1966.  $(gserrors_h) $(gsfunc0_h) $(gxfunc_h)
  1967.  
  1968. # ----------------------- Platform-specific modules ----------------------- #
  1969. # Platform-specific code doesn't really belong here: this is code that is
  1970. # shared among multiple platforms.
  1971.  
  1972. # Frame buffer implementations.
  1973.  
  1974. gp_nofb.$(OBJ): gp_nofb.c $(GX) \
  1975.   $(gp_h) $(gxdevice_h)
  1976.  
  1977. gp_dosfb.$(OBJ): gp_dosfb.c $(AK) $(malloc__h) $(memory__h)\
  1978.  $(gx_h) $(gp_h) $(gserrors_h) $(gxdevice_h)
  1979.  
  1980. # MS-DOS file system, also used by Desqview/X.
  1981. gp_dosfs.$(OBJ): gp_dosfs.c $(AK) $(dos__h) $(gp_h) $(gx_h)
  1982.  
  1983. # MS-DOS file enumeration, *not* used by Desqview/X.
  1984. gp_dosfe.$(OBJ): gp_dosfe.c $(AK) $(stdio__h) $(memory__h) $(string__h) \
  1985.   $(dos__h) $(gstypes_h) $(gsmemory_h) $(gsstruct_h) $(gp_h) $(gsutil_h)
  1986.  
  1987. # Other MS-DOS facilities.
  1988. gp_msdos.$(OBJ): gp_msdos.c $(AK) $(dos__h) $(stdio__h) $(string__h)\
  1989.  $(gsmemory_h) $(gstypes_h) $(gp_h)
  1990.  
  1991. # Unix(-like) file system, also used by Desqview/X.
  1992. gp_unifs.$(OBJ): gp_unifs.c $(AK) $(memory__h) $(string__h) $(gx_h) $(gp_h) \
  1993.   $(gsstruct_h) $(gsutil_h) $(stat__h) $(dirent__h)
  1994.  
  1995. # Unix(-like) file name syntax, *not* used by Desqview/X.
  1996. gp_unifn.$(OBJ): gp_unifn.c $(AK) $(gx_h) $(gp_h)
  1997.  
  1998. # Misc Libnix Amiga stuff
  1999. #modf.$(OBJ): modf.c
  2000. #frexp.$(OBJ): frexp.c
  2001. #ldexp.$(OBJ): ldexp.c
  2002.  
  2003. # ----------------------------- Main program ------------------------------ #
  2004.  
  2005. # Main program for library testing
  2006.  
  2007. gslib.$(OBJ): gslib.c $(AK) $(math__h) \
  2008.   $(gx_h) $(gp_h) $(gserrors_h) $(gsmatrix_h) $(gsstate_h) $(gscspace_h) \
  2009.   $(gscdefs_h) $(gscolor2_h) $(gscoord_h) $(gslib_h) $(gsparam_h) \
  2010.   $(gspaint_h) $(gspath_h) $(gsstruct_h) $(gsutil_h) \
  2011.   $(gxalloc_h) $(gxdevice_h)
  2012. #    Copyright (C) 1995, 1996, 1997 Aladdin Enterprises.  All rights reserved.
  2013. # This file is part of Aladdin Ghostscript.
  2014. # Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND.  No author
  2015. # or distributor accepts any responsibility for the consequences of using it,
  2016. # or for whether it serves any particular purpose or works at all, unless he
  2017. # or she says so in writing.  Refer to the Aladdin Ghostscript Free Public
  2018. # License (the "License") for full details.
  2019. # Every copy of Aladdin Ghostscript must include a copy of the License,
  2020. # normally in a plain ASCII text file named PUBLIC.  The License grants you
  2021. # the right to copy, modify and redistribute Aladdin Ghostscript, but only
  2022. # under certain conditions described in the License.  Among other things, the
  2023. # License requires that the copyright notice and this notice be preserved on
  2024. # all copies.
  2025.  
  2026. # (Platform-independent) makefile for language interpreters.
  2027. # See the end of gs.mak for where this fits into the build process.
  2028.  
  2029. # Define the name of this makefile.
  2030. INT_MAK=int.mak
  2031.  
  2032. # ======================== Interpreter support ======================== #
  2033.  
  2034. # This is support code for all interpreters, not just PostScript and PDF.
  2035. # It knows about the PostScript data types, but isn't supposed to
  2036. # depend on anything outside itself.
  2037.  
  2038. errors_h=errors.h
  2039. idebug_h=idebug.h
  2040. idict_h=idict.h
  2041. igc_h=igc.h
  2042. igcstr_h=igcstr.h
  2043. iname_h=iname.h
  2044. inamedef_h=inamedef.h $(gconfigv_h) $(iname_h)
  2045. ipacked_h=ipacked.h
  2046. iref_h=iref.h
  2047. isave_h=isave.h
  2048. isstate_h=isstate.h
  2049. istruct_h=istruct.h $(gsstruct_h)
  2050. iutil_h=iutil.h
  2051. ivmspace_h=ivmspace.h $(gsgc_h)
  2052. opdef_h=opdef.h
  2053. # Nested include files
  2054. ghost_h=ghost.h $(gx_h) $(iref_h)
  2055. imemory_h=imemory.h $(gsalloc_h) $(ivmspace_h)
  2056. ialloc_h=ialloc.h $(imemory_h)
  2057. iastruct_h=iastruct.h $(gxobj_h) $(ialloc_h)
  2058. iastate_h=iastate.h $(gxalloc_h) $(ialloc_h) $(istruct_h)
  2059. store_h=store.h $(ialloc_h)
  2060.  
  2061. GH=$(AK) $(ghost_h)
  2062.  
  2063. isupport1_=ialloc.$(OBJ) igc.$(OBJ) igcref.$(OBJ) igcstr.$(OBJ)
  2064. isupport2_=ilocate.$(OBJ) iname.$(OBJ) isave.$(OBJ)
  2065. isupport_=$(isupport1_) $(isupport2_)
  2066. isupport.dev: $(INT_MAK) $(ECHOGS_XE) $(isupport_)
  2067.     $(SETMOD) isupport $(isupport1_)
  2068.     $(ADDMOD) isupport -obj $(isupport2_)
  2069.     $(ADDMOD) isupport -init igcref
  2070.  
  2071. ialloc.$(OBJ): ialloc.c $(AK) $(memory__h) $(gx_h)\
  2072.  $(errors_h) $(gsstruct_h) $(gxarith_h)\
  2073.  $(iastate_h) $(iref_h) $(ivmspace_h) $(store_h)
  2074.  
  2075. # igc.c, igcref.c, and igcstr.c should really be in the dpsand2 list,
  2076. # but since all the GC enumeration and relocation routines refer to them,
  2077. # it's too hard to separate them out from the Level 1 base.
  2078. igc.$(OBJ): igc.c $(GH) $(memory__h)\
  2079.   $(errors_h) $(gsexit_h) $(gsmdebug_h) $(gsstruct_h) $(gsutil_h) \
  2080.   $(iastate_h) $(idict_h) $(igc_h) $(igcstr_h) $(inamedef_h) \
  2081.   $(ipacked_h) $(isave_h) $(isstate_h) $(istruct_h) $(opdef_h)
  2082.  
  2083. igcref.$(OBJ): igcref.c $(GH) $(memory__h)\
  2084.  $(gsexit_h) $(gsstruct_h)\
  2085.  $(iastate_h) $(idebug_h) $(igc_h) $(iname_h) $(ipacked_h) $(store_h)
  2086.  
  2087. igcstr.$(OBJ): igcstr.c $(GH) $(memory__h)\
  2088.  $(gsmdebug_h) $(gsstruct_h) $(iastate_h) $(igcstr_h)
  2089.  
  2090. ilocate.$(OBJ): ilocate.c $(GH) $(memory__h)\
  2091.  $(errors_h) $(gsexit_h) $(gsstruct_h)\
  2092.  $(iastate_h) $(idict_h) $(igc_h) $(igcstr_h) $(iname_h)\
  2093.  $(ipacked_h) $(isstate_h) $(iutil_h) $(ivmspace_h)\
  2094.  $(store_h)
  2095.  
  2096. iname.$(OBJ): iname.c $(GH) $(memory__h) $(string__h) \
  2097.   $(gsstruct_h) $(errors_h) $(imemory_h) $(inamedef_h) $(isave_h) $(store_h)
  2098.  
  2099. isave.$(OBJ): isave.c $(GH) $(memory__h)\
  2100.  $(errors_h) $(gsexit_h) $(gsstruct_h) $(gsutil_h)\
  2101.  $(iastate_h) $(inamedef_h) $(isave_h) $(isstate_h) $(ivmspace_h)\
  2102.  $(ipacked_h) $(store_h)
  2103.  
  2104. ### Include files
  2105.  
  2106. idparam_h=idparam.h
  2107. ilevel_h=ilevel.h
  2108. iparam_h=iparam.h $(gsparam_h)
  2109. istack_h=istack.h
  2110. iutil2_h=iutil2.h
  2111. opcheck_h=opcheck.h
  2112. opextern_h=opextern.h
  2113. # Nested include files
  2114. dstack_h=dstack.h $(istack_h)
  2115. estack_h=estack.h $(istack_h)
  2116. ostack_h=ostack.h $(istack_h)
  2117. oper_h=oper.h $(iutil_h) $(opcheck_h) $(opdef_h) $(opextern_h) $(ostack_h)
  2118.  
  2119. idebug.$(OBJ): idebug.c $(GH) $(string__h)\
  2120.  $(ialloc_h) $(idebug_h) $(idict_h) $(iname_h) $(istack_h) $(iutil_h) $(ivmspace_h)\
  2121.  $(ostack_h) $(opdef_h) $(ipacked_h) $(store_h)
  2122.  
  2123. idict.$(OBJ): idict.c $(GH) $(string__h) $(errors_h)\
  2124.  $(ialloc_h) $(idebug_h) $(ivmspace_h) $(inamedef_h) $(ipacked_h)\
  2125.  $(isave_h) $(store_h) $(iutil_h) $(idict_h) $(dstack_h)
  2126.  
  2127. idparam.$(OBJ): idparam.c $(GH) $(memory__h) $(string__h) $(errors_h)\
  2128.  $(gsmatrix_h) $(gsuid_h)\
  2129.  $(idict_h) $(idparam_h) $(ilevel_h) $(imemory_h) $(iname_h) $(iutil_h)\
  2130.  $(oper_h) $(store_h)
  2131.  
  2132. iparam.$(OBJ): iparam.c $(GH) $(memory__h) $(string__h) $(errors_h)\
  2133.  $(ialloc_h) $(idict_h) $(iname_h) $(imemory_h) $(iparam_h) $(istack_h) $(iutil_h) $(ivmspace_h)\
  2134.  $(opcheck_h) $(store_h)
  2135.  
  2136. istack.$(OBJ): istack.c $(GH) $(memory__h) \
  2137.   $(errors_h) $(gsstruct_h) $(gsutil_h) \
  2138.   $(ialloc_h) $(istack_h) $(istruct_h) $(iutil_h) $(ivmspace_h) $(store_h)
  2139.  
  2140. iutil.$(OBJ): iutil.c $(GH) $(math__h) $(memory__h) $(string__h)\
  2141.  $(gsccode_h) $(gsmatrix_h) $(gsutil_h) $(gxfont_h)\
  2142.  $(errors_h) $(idict_h) $(imemory_h) $(iutil_h) $(ivmspace_h)\
  2143.  $(iname_h) $(ipacked_h) $(oper_h) $(store_h)
  2144.  
  2145. # ======================== PostScript Level 1 ======================== #
  2146.  
  2147. ###### Include files
  2148.  
  2149. files_h=files.h
  2150. fname_h=fname.h
  2151. ichar_h=ichar.h
  2152. icharout_h=icharout.h
  2153. icolor_h=icolor.h
  2154. icsmap_h=icsmap.h
  2155. ifont_h=ifont.h $(gsccode_h) $(gsstruct_h)
  2156. iimage_h=iimage.h
  2157. imain_h=imain.h $(gsexit_h)
  2158. imainarg_h=imainarg.h
  2159. iminst_h=iminst.h $(imain_h)
  2160. interp_h=interp.h
  2161. iparray_h=iparray.h
  2162. iscannum_h=iscannum.h
  2163. istream_h=istream.h
  2164. main_h=main.h $(iminst_h)
  2165. overlay_h=overlay.h
  2166. sbwbs_h=sbwbs.h
  2167. sfilter_h=sfilter.h $(gstypes_h)
  2168. shcgen_h=shcgen.h
  2169. smtf_h=smtf.h
  2170. # Nested include files
  2171. bfont_h=bfont.h $(ifont_h)
  2172. ifilter_h=ifilter.h $(istream_h) $(ivmspace_h)
  2173. igstate_h=igstate.h $(gsstate_h) $(gxstate_h) $(istruct_h)
  2174. iscan_h=iscan.h $(sa85x_h) $(sstring_h)
  2175. sbhc_h=sbhc.h $(shc_h)
  2176. # Include files for optional features
  2177. ibnum_h=ibnum.h
  2178.  
  2179. ### Initialization and scanning
  2180.  
  2181. iconfig=iconfig$(CONFIG)
  2182. $(iconfig).$(OBJ): iconf.c $(stdio__h) \
  2183.   $(gconfig_h) $(gscdefs_h) $(gsmemory_h) \
  2184.   $(files_h) $(iminst_h) $(iref_h) $(ivmspace_h) $(opdef_h) $(stream_h)
  2185.     $(RM_) gconfig.h
  2186.     $(RM_) $(iconfig).c
  2187.     $(CP_) $(gconfig_h) gconfig.h
  2188.     $(CP_) $(srcdir)/iconf.c $(iconfig).c
  2189.     $(CCC) -I. -I$(srcdir) $(iconfig).c
  2190.     $(RM_) gconfig.h
  2191.     $(RM_) $(iconfig).c
  2192.  
  2193. iinit.$(OBJ): iinit.c $(GH) $(string__h)\
  2194.  $(gscdefs_h) $(gsexit_h) $(gsstruct_h)\
  2195.  $(ialloc_h) $(idict_h) $(dstack_h) $(errors_h)\
  2196.  $(ilevel_h) $(iname_h) $(interp_h) $(opdef_h)\
  2197.  $(ipacked_h) $(iparray_h) $(iutil_h) $(ivmspace_h) $(store_h)
  2198.  
  2199. iscan.$(OBJ): iscan.c $(GH) $(memory__h)\
  2200.  $(ialloc_h) $(idict_h) $(dstack_h) $(errors_h) $(files_h)\
  2201.  $(ilevel_h) $(iutil_h) $(iscan_h) $(iscannum_h) $(istruct_h) $(ivmspace_h)\
  2202.  $(iname_h) $(ipacked_h) $(iparray_h) $(istream_h) $(ostack_h) $(store_h)\
  2203.  $(stream_h) $(strimpl_h) $(sfilter_h) $(scanchar_h)
  2204.  
  2205. iscannum.$(OBJ): iscannum.c $(GH) $(math__h)\
  2206.   $(errors_h) $(iscannum_h) $(scanchar_h) $(scommon_h) $(store_h)
  2207.  
  2208. ### Streams
  2209.  
  2210. sfilter1.$(OBJ): sfilter1.c $(AK) $(stdio__h) $(memory__h) \
  2211.   $(sfilter_h) $(strimpl_h)
  2212.  
  2213. ###### Operators
  2214.  
  2215. OP=$(GH) $(errors_h) $(oper_h)
  2216.  
  2217. ### Non-graphics operators
  2218.  
  2219. zarith.$(OBJ): zarith.c $(OP) $(math__h) $(store_h)
  2220.  
  2221. zarray.$(OBJ): zarray.c $(OP) $(memory__h) $(ialloc_h) $(ipacked_h) $(store_h)
  2222.  
  2223. zcontrol.$(OBJ): zcontrol.c $(OP) $(string__h)\
  2224.  $(estack_h) $(files_h) $(ipacked_h) $(iutil_h) $(store_h) $(stream_h)
  2225.  
  2226. zdict.$(OBJ): zdict.c $(OP) \
  2227.   $(dstack_h) $(idict_h) $(ilevel_h) $(iname_h) $(ipacked_h) $(ivmspace_h) \
  2228.   $(store_h)
  2229.  
  2230. zfile.$(OBJ): zfile.c $(OP) $(memory__h) $(string__h) $(gp_h)\
  2231.  $(gsstruct_h) $(gxiodev_h) \
  2232.  $(ialloc_h) $(estack_h) $(files_h) $(fname_h) $(ilevel_h) $(interp_h) $(iutil_h)\
  2233.  $(isave_h) $(main_h) $(sfilter_h) $(stream_h) $(strimpl_h) $(store_h)
  2234.  
  2235. zfileio.$(OBJ): zfileio.c $(OP) $(gp_h) \
  2236.   $(files_h) $(ifilter_h) $(store_h) $(stream_h) $(strimpl_h) \
  2237.   $(gsmatrix_h) $(gxdevice_h) $(gxdevmem_h)
  2238.  
  2239. zfilter.$(OBJ): zfilter.c $(OP) $(memory__h)\
  2240.  $(gsstruct_h) $(files_h) $(ialloc_h) $(idict_h) $(idparam_h) $(ifilter_h) \
  2241.  $(sfilter_h) $(srlx_h) $(sstring_h) $(store_h) $(stream_h) $(strimpl_h)
  2242.  
  2243. zfname.$(OBJ): zfname.c $(OP) $(memory__h)\
  2244.  $(fname_h) $(gxiodev_h) $(ialloc_h) $(stream_h)
  2245.  
  2246. zfproc.$(OBJ): zfproc.c $(GH) $(memory__h)\
  2247.  $(errors_h) $(oper_h)\
  2248.  $(estack_h) $(files_h) $(gsstruct_h) $(ialloc_h) $(ifilter_h) $(istruct_h)\
  2249.  $(store_h) $(stream_h) $(strimpl_h)
  2250.  
  2251. zgeneric.$(OBJ): zgeneric.c $(OP) $(memory__h)\
  2252.  $(idict_h) $(estack_h) $(ivmspace_h) $(iname_h) $(ipacked_h) $(store_h)
  2253.  
  2254. ziodev.$(OBJ): ziodev.c $(OP) $(memory__h) $(stdio__h) $(string__h)\
  2255.  $(gp_h) $(gpcheck_h)\
  2256.  $(gsstruct_h) $(gxiodev_h)\
  2257.  $(files_h) $(ialloc_h) $(ivmspace_h) $(store_h) $(stream_h)
  2258.  
  2259. zmath.$(OBJ): zmath.c $(OP) $(math__h) $(gxfarith_h) $(store_h)
  2260.  
  2261. zmisc.$(OBJ): zmisc.c $(OP) $(gscdefs_h) $(gp_h) \
  2262.   $(errno__h) $(memory__h) $(string__h) \
  2263.   $(ialloc_h) $(idict_h) $(dstack_h) $(iname_h) $(ivmspace_h) $(ipacked_h) $(store_h)
  2264.  
  2265. zpacked.$(OBJ): zpacked.c $(OP) \
  2266.   $(ialloc_h) $(idict_h) $(ivmspace_h) $(iname_h) $(ipacked_h) $(iparray_h) \
  2267.   $(istack_h) $(store_h)
  2268.  
  2269. zrelbit.$(OBJ): zrelbit.c $(OP) $(gsutil_h) $(store_h) $(idict_h)
  2270.  
  2271. zstack.$(OBJ): zstack.c $(OP) $(memory__h)\
  2272.  $(ialloc_h) $(istack_h) $(store_h)
  2273.  
  2274. zstring.$(OBJ): zstring.c $(OP) $(memory__h)\
  2275.  $(gsutil_h)\
  2276.  $(ialloc_h) $(iname_h) $(ivmspace_h) $(store_h)
  2277.  
  2278. zsysvm.$(OBJ): zsysvm.c $(GH)\
  2279.  $(ialloc_h) $(ivmspace_h) $(oper_h) $(store_h)
  2280.  
  2281. ztoken.$(OBJ): ztoken.c $(OP) \
  2282.   $(estack_h) $(files_h) $(gsstruct_h) $(iscan_h) \
  2283.   $(sfilter_h) $(store_h) $(stream_h) $(strimpl_h)
  2284.  
  2285. ztype.$(OBJ): ztype.c $(OP) $(math__h) $(memory__h) $(string__h)\
  2286.  $(dstack_h) $(idict_h) $(imemory_h) $(iname_h)\
  2287.  $(iscan_h) $(iutil_h) $(sfilter_h) $(store_h) $(stream_h) $(strimpl_h)
  2288.  
  2289. zvmem.$(OBJ): zvmem.c $(OP) \
  2290.   $(ialloc_h) $(idict_h) $(dstack_h) $(estack_h) $(isave_h) $(igstate_h) $(store_h) \
  2291.   $(gsmatrix_h) $(gsstate_h) $(gsstruct_h)
  2292.  
  2293. ### Graphics operators
  2294.  
  2295. zchar.$(OBJ): zchar.c $(OP)\
  2296.  $(gsstruct_h) $(gxarith_h) $(gxfixed_h) $(gxmatrix_h)\
  2297.  $(gxchar_h) $(gxdevice_h) $(gxfont_h) $(gzpath_h) $(gzstate_h)\
  2298.  $(dstack_h) $(estack_h) $(ialloc_h) $(ichar_h) $(idict_h) $(ifont_h)\
  2299.  $(ilevel_h) $(iname_h) $(igstate_h) $(ipacked_h) $(store_h)
  2300.  
  2301. # zcharout is used for Type 1 and Type 42 fonts only.
  2302. zcharout.$(OBJ): zcharout.c $(OP)\
  2303.  $(gschar_h) $(gxdevice_h) $(gxfont_h)\
  2304.  $(dstack_h) $(estack_h) $(ichar_h) $(icharout_h)\
  2305.  $(idict_h) $(ifont_h) $(igstate_h) $(store_h)
  2306.  
  2307. zcolor.$(OBJ): zcolor.c $(OP) \
  2308.   $(gxfixed_h) $(gxmatrix_h) $(gzstate_h) $(gxdevice_h) $(gxcmap_h) \
  2309.   $(ialloc_h) $(icolor_h) $(estack_h) $(iutil_h) $(igstate_h) $(store_h)
  2310.  
  2311. zdevice.$(OBJ): zdevice.c $(OP) $(string__h)\
  2312.  $(ialloc_h) $(idict_h) $(igstate_h) $(iname_h) $(interp_h) $(iparam_h) $(ivmspace_h)\
  2313.  $(gsmatrix_h) $(gsstate_h) $(gxdevice_h) $(store_h)
  2314.  
  2315. zfont.$(OBJ): zfont.c $(OP)\
  2316.  $(gschar_h) $(gsstruct_h) $(gxdevice_h) $(gxfont_h) $(gxfcache_h)\
  2317.  $(gzstate_h)\
  2318.  $(ialloc_h) $(idict_h) $(igstate_h) $(iname_h) $(isave_h) $(ivmspace_h)\
  2319.  $(bfont_h) $(store_h)
  2320.  
  2321. zfont2.$(OBJ): zfont2.c $(OP) $(memory__h) $(string__h)\
  2322.  $(gsmatrix_h) $(gxdevice_h) $(gschar_h) $(gxfixed_h) $(gxfont_h)\
  2323.  $(ialloc_h) $(bfont_h) $(idict_h) $(idparam_h) $(ilevel_h) $(iname_h) $(istruct_h)\
  2324.  $(ipacked_h) $(store_h)
  2325.  
  2326. zgstate.$(OBJ): zgstate.c $(OP) $(math__h)\
  2327.  $(gsmatrix_h) $(ialloc_h) $(idict_h) $(igstate_h) $(istruct_h) $(store_h)
  2328.  
  2329. zht.$(OBJ): zht.c $(OP) $(memory__h)\
  2330.  $(gsmatrix_h) $(gsstate_h) $(gsstruct_h) $(gxdevice_h) $(gzht_h) \
  2331.  $(ialloc_h) $(estack_h) $(igstate_h) $(store_h)
  2332.  
  2333. zimage.$(OBJ): zimage.c $(OP) \
  2334.   $(estack_h) $(ialloc_h) $(ifilter_h) $(igstate_h) $(iimage_h) $(ilevel_h) \
  2335.   $(gscspace_h) $(gsimage_h) $(gsmatrix_h) $(gsstruct_h) \
  2336.   $(store_h) $(stream_h)
  2337.  
  2338. zmatrix.$(OBJ): zmatrix.c $(OP)\
  2339.  $(gsmatrix_h) $(igstate_h) $(gscoord_h) $(store_h)
  2340.  
  2341. zpaint.$(OBJ): zpaint.c $(OP)\
  2342.  $(gspaint_h) $(igstate_h)
  2343.  
  2344. zpath.$(OBJ): zpath.c $(OP) $(math__h) \
  2345.   $(gsmatrix_h) $(gspath_h) $(igstate_h) $(store_h)
  2346.  
  2347. # Define the base PostScript language interpreter.
  2348. # This is the subset of PostScript Level 1 required by our PDF reader.
  2349.  
  2350. INT1=idebug.$(OBJ) idict.$(OBJ) idparam.$(OBJ)
  2351. INT2=iinit.$(OBJ) interp.$(OBJ) iparam.$(OBJ) ireclaim.$(OBJ)
  2352. INT3=iscan.$(OBJ) iscannum.$(OBJ) istack.$(OBJ) iutil.$(OBJ)
  2353. INT4=scantab.$(OBJ) sfilter1.$(OBJ) sstring.$(OBJ) stream.$(OBJ)
  2354. Z1=zarith.$(OBJ) zarray.$(OBJ) zcontrol.$(OBJ) zdict.$(OBJ)
  2355. Z1OPS=zarith zarray zcontrol zdict
  2356. Z2=zfile.$(OBJ) zfileio.$(OBJ) zfilter.$(OBJ) zfname.$(OBJ) zfproc.$(OBJ)
  2357. Z2OPS=zfile zfileio zfilter zfproc
  2358. Z3=zgeneric.$(OBJ) ziodev.$(OBJ) zmath.$(OBJ) zmisc.$(OBJ) zpacked.$(OBJ)
  2359. Z3OPS=zgeneric ziodev zmath zmisc zpacked
  2360. Z4=zrelbit.$(OBJ) zstack.$(OBJ) zstring.$(OBJ) zsysvm.$(OBJ)
  2361. Z4OPS=zrelbit zstack zstring zsysvm
  2362. Z5=ztoken.$(OBJ) ztype.$(OBJ) zvmem.$(OBJ)
  2363. Z5OPS=ztoken ztype zvmem
  2364. Z6=zchar.$(OBJ) zcolor.$(OBJ) zdevice.$(OBJ) zfont.$(OBJ) zfont2.$(OBJ)
  2365. Z6OPS=zchar zcolor zdevice zfont zfont2
  2366. Z7=zgstate.$(OBJ) zht.$(OBJ) zimage.$(OBJ) zmatrix.$(OBJ) zpaint.$(OBJ) zpath.$(OBJ)
  2367. Z7OPS=zgstate zht zimage zmatrix zpaint zpath
  2368. # We have to be a little underhanded with *config.$(OBJ) so as to avoid
  2369. # circular definitions.
  2370. INT_OBJS=imainarg.$(OBJ) gsargs.$(OBJ) imain.$(OBJ) \
  2371.   $(INT1) $(INT2) $(INT3) $(INT4) \
  2372.   $(Z1) $(Z2) $(Z3) $(Z4) $(Z5) $(Z6) $(Z7)
  2373. INT_CONFIG=$(gconfig).$(OBJ) $(gscdefs).$(OBJ) $(iconfig).$(OBJ) \
  2374.   iccinit$(COMPILE_INITS).$(OBJ)
  2375. INT_ALL=$(INT_OBJS) $(INT_CONFIG)
  2376. # We omit libcore.dev, which should be included here, because problems
  2377. # with the Unix linker require libcore to appear last in the link list
  2378. # when libcore is really a library.
  2379. # We omit $(INT_CONFIG) from the dependency list because they have special
  2380. # dependency requirements and are added to the link list at the very end.
  2381. # zfilter.c shouldn't include the RLE and RLD filters, but we don't want to
  2382. # change this now.
  2383. psbase.dev: $(INT_MAK) $(ECHOGS_XE) $(INT_OBJS)\
  2384.  isupport.dev rld.dev rle.dev sfile.dev
  2385.     $(SETMOD) psbase imainarg.$(OBJ) gsargs.$(OBJ) imain.$(OBJ)
  2386.     $(ADDMOD) psbase -obj $(INT_CONFIG)
  2387.     $(ADDMOD) psbase -obj $(INT1)
  2388.     $(ADDMOD) psbase -obj $(INT2)
  2389.     $(ADDMOD) psbase -obj $(INT3)
  2390.     $(ADDMOD) psbase -obj $(INT4)
  2391.     $(ADDMOD) psbase -obj $(Z1)
  2392.     $(ADDMOD) psbase -oper $(Z1OPS)
  2393.     $(ADDMOD) psbase -obj $(Z2)
  2394.     $(ADDMOD) psbase -oper $(Z2OPS)
  2395.     $(ADDMOD) psbase -obj $(Z3)
  2396.     $(ADDMOD) psbase -oper $(Z3OPS)
  2397.     $(ADDMOD) psbase -obj $(Z4)
  2398.     $(ADDMOD) psbase -oper $(Z4OPS)
  2399.     $(ADDMOD) psbase -obj $(Z5)
  2400.     $(ADDMOD) psbase -oper $(Z5OPS)
  2401.     $(ADDMOD) psbase -obj $(Z6)
  2402.     $(ADDMOD) psbase -oper $(Z6OPS)
  2403.     $(ADDMOD) psbase -obj $(Z7)
  2404.     $(ADDMOD) psbase -oper $(Z7OPS)
  2405.     $(ADDMOD) psbase -iodev stdin stdout stderr lineedit statementedit
  2406.     $(ADDMOD) psbase -include isupport rld rle sfile
  2407.  
  2408. # -------------------------- Feature definitions -------------------------- #
  2409.  
  2410. # ---------------- Full Level 1 interpreter ---------------- #
  2411.  
  2412. level1.dev: $(INT_MAK) $(ECHOGS_XE) psbase.dev bcp.dev hsb.dev path1.dev type1.dev
  2413.     $(SETMOD) level1 -include psbase bcp hsb path1 type1
  2414.     $(ADDMOD) level1 -emulator PostScript PostScriptLevel1
  2415.  
  2416. # -------- Level 1 color extensions (CMYK color and colorimage) -------- #
  2417.  
  2418. color.dev: $(INT_MAK) $(ECHOGS_XE) cmyklib.dev colimlib.dev cmykread.dev
  2419.     $(SETMOD) color -include cmyklib colimlib cmykread
  2420.  
  2421. cmykread_=zcolor1.$(OBJ) zht1.$(OBJ)
  2422. cmykread.dev: $(INT_MAK) $(ECHOGS_XE) $(cmykread_)
  2423.     $(SETMOD) cmykread $(cmykread_)
  2424.     $(ADDMOD) cmykread -oper zcolor1 zht1
  2425.  
  2426. zcolor1.$(OBJ): zcolor1.c $(OP) \
  2427.   $(gscolor1_h) \
  2428.   $(gxcmap_h) $(gxcspace_h) $(gxdevice_h) $(gxfixed_h) $(gxmatrix_h) \
  2429.   $(gzstate_h) \
  2430.   $(ialloc_h) $(icolor_h) $(iimage_h) $(estack_h) $(iutil_h) $(igstate_h) $(store_h)
  2431.  
  2432. zht1.$(OBJ): zht1.c $(OP) $(memory__h)\
  2433.  $(gsmatrix_h) $(gsstate_h) $(gsstruct_h) $(gxdevice_h) $(gzht_h)\
  2434.  $(ialloc_h) $(estack_h) $(igstate_h) $(store_h)
  2435.  
  2436. # ---------------- HSB color ---------------- #
  2437.  
  2438. hsb_=zhsb.$(OBJ)
  2439. hsb.dev: $(INT_MAK) $(ECHOGS_XE) $(hsb_) hsblib.dev
  2440.     $(SETMOD) hsb $(hsb_)
  2441.     $(ADDMOD) hsb -include hsblib
  2442.     $(ADDMOD) hsb -oper zhsb
  2443.  
  2444. zhsb.$(OBJ): zhsb.c $(OP) \
  2445.   $(gshsb_h) $(igstate_h) $(store_h)
  2446.  
  2447. # ---- Level 1 path miscellany (arcs, pathbbox, path enumeration) ---- #
  2448.  
  2449. path1_=zpath1.$(OBJ)
  2450. path1.dev: $(INT_MAK) $(ECHOGS_XE) $(path1_) path1lib.dev
  2451.     $(SETMOD) path1 $(path1_)
  2452.     $(ADDMOD) path1 -include path1lib
  2453.     $(ADDMOD) path1 -oper zpath1
  2454.  
  2455. zpath1.$(OBJ): zpath1.c $(OP) $(memory__h)\
  2456.  $(ialloc_h) $(estack_h) $(gspath_h) $(gsstruct_h) $(igstate_h) $(store_h)
  2457.  
  2458. # ================ Level-independent PostScript options ================ #
  2459.  
  2460. # ---------------- BCP filters ---------------- #
  2461.  
  2462. bcp_=sbcp.$(OBJ) zfbcp.$(OBJ)
  2463. bcp.dev: $(INT_MAK) $(ECHOGS_XE) $(bcp_)
  2464.     $(SETMOD) bcp $(bcp_)
  2465.     $(ADDMOD) bcp -oper zfbcp
  2466.  
  2467. sbcp.$(OBJ): sbcp.c $(AK) $(stdio__h) \
  2468.   $(sfilter_h) $(strimpl_h)
  2469.  
  2470. zfbcp.$(OBJ): zfbcp.c $(OP) $(memory__h)\
  2471.  $(gsstruct_h) $(ialloc_h) $(ifilter_h)\
  2472.  $(sfilter_h) $(stream_h) $(strimpl_h)
  2473.  
  2474. # ---------------- Incremental font loading ---------------- #
  2475. # (This only works for Type 1 fonts without eexec encryption.)
  2476.  
  2477. diskfont.dev: $(INT_MAK) $(ECHOGS_XE)
  2478.     $(SETMOD) diskfont -ps gs_diskf
  2479.  
  2480. # ---------------- Double-precision floats ---------------- #
  2481.  
  2482. double_=zdouble.$(OBJ)
  2483. double.dev: $(INT_MAK) $(ECHOGS_XE) $(double_)
  2484.     $(SETMOD) double $(double_)
  2485.     $(ADDMOD) double -oper zdouble
  2486.  
  2487. zdouble.$(OBJ): zdouble.c $(OP) $(ctype__h) $(math__h) $(memory__h) $(string__h) \
  2488.   $(gxfarith_h) $(store_h)
  2489.  
  2490. # ---------------- EPSF files with binary headers ---------------- #
  2491.  
  2492. epsf.dev: $(INT_MAK) $(ECHOGS_XE)
  2493.     $(SETMOD) epsf -ps gs_epsf
  2494.  
  2495. # ---------------- RasterOp ---------------- #
  2496. # This should be a separable feature in the core also....
  2497.  
  2498. rasterop.dev: $(INT_MAK) $(ECHOGS_XE) roplib.dev ropread.dev
  2499.     $(SETMOD) rasterop -include roplib ropread
  2500.  
  2501. ropread_=zrop.$(OBJ)
  2502. ropread.dev: $(INT_MAK) $(ECHOGS_XE) $(ropread_)
  2503.     $(SETMOD) ropread $(ropread_)
  2504.     $(ADDMOD) ropread -oper zrop
  2505.  
  2506. zrop.$(OBJ): zrop.c $(OP) $(memory__h)\
  2507.  $(gsrop_h) $(gsutil_h) $(gxdevice_h)\
  2508.  $(idict_h) $(idparam_h) $(igstate_h) $(store_h)
  2509.  
  2510. # ---------------- PostScript Type 1 (and Type 4) fonts ---------------- #
  2511.  
  2512. type1.dev: $(INT_MAK) $(ECHOGS_XE) psf1lib.dev psf1read.dev
  2513.     $(SETMOD) type1 -include psf1lib psf1read
  2514.  
  2515. psf1read_=seexec.$(OBJ) zchar1.$(OBJ) zcharout.$(OBJ) zfont1.$(OBJ) zmisc1.$(OBJ)
  2516. psf1read.dev: $(INT_MAK) $(ECHOGS_XE) $(psf1read_)
  2517.     $(SETMOD) psf1read $(psf1read_)
  2518.     $(ADDMOD) psf1read -oper zchar1 zfont1 zmisc1
  2519.     $(ADDMOD) psf1read -ps gs_type1
  2520.  
  2521. seexec.$(OBJ): seexec.c $(AK) $(stdio__h) \
  2522.   $(gscrypt1_h) $(scanchar_h) $(sfilter_h) $(strimpl_h)
  2523.  
  2524. zchar1.$(OBJ): zchar1.c $(OP) \
  2525.   $(gspaint_h) $(gspath_h) $(gsstruct_h) \
  2526.   $(gxchar_h) $(gxdevice_h) $(gxfixed_h) $(gxmatrix_h) \
  2527.   $(gxfont_h) $(gxfont1_h) $(gxtype1_h) $(gzstate_h) \
  2528.   $(estack_h) $(ialloc_h) $(ichar_h) $(icharout_h) \
  2529.   $(idict_h) $(ifont_h) $(igstate_h) $(store_h)
  2530.  
  2531. zfont1.$(OBJ): zfont1.c $(OP) \
  2532.   $(gsmatrix_h) $(gxdevice_h) $(gschar_h) \
  2533.   $(gxfixed_h) $(gxfont_h) $(gxfont1_h) \
  2534.   $(bfont_h) $(ialloc_h) $(idict_h) $(idparam_h) $(store_h)
  2535.  
  2536. zmisc1.$(OBJ): zmisc1.c $(OP) $(memory__h)\
  2537.  $(gscrypt1_h)\
  2538.  $(idict_h) $(idparam_h) $(ifilter_h)\
  2539.  $(sfilter_h) $(stream_h) $(strimpl_h)
  2540.  
  2541. # -------------- Compact Font Format and Type 2 charstrings ------------- #
  2542.  
  2543. cff.dev: $(INT_MAK) $(ECHOGS_XE) gs_cff.ps psl2int.dev
  2544.     $(SETMOD) cff -ps gs_cff
  2545.  
  2546. type2.dev: $(INT_MAK) $(ECHOGS_XE) type1.dev psf2lib.dev
  2547.     $(SETMOD) type2 -include psf2lib
  2548.  
  2549. # ---------------- TrueType and PostScript Type 42 fonts ---------------- #
  2550.  
  2551. # Native TrueType support
  2552. ttfont.dev: $(INT_MAK) $(ECHOGS_XE) type42.dev
  2553.     $(SETMOD) ttfont -include type42
  2554.     $(ADDMOD) ttfont -ps gs_mro_e gs_wan_e gs_ttf
  2555.  
  2556. # Type 42 (embedded TrueType) support
  2557. type42read_=zchar42.$(OBJ) zcharout.$(OBJ) zfont42.$(OBJ)
  2558. type42.dev: $(INT_MAK) $(ECHOGS_XE) $(type42read_) ttflib.dev
  2559.     $(SETMOD) type42 $(type42read_)
  2560.     $(ADDMOD) type42 -include ttflib    
  2561.     $(ADDMOD) type42 -oper zchar42 zfont42
  2562.     $(ADDMOD) type42 -ps gs_typ42
  2563.  
  2564. zchar42.$(OBJ): zchar42.c $(OP) \
  2565.   $(gsmatrix_h) $(gspaint_h) $(gspath_h) \
  2566.   $(gxfixed_h) $(gxchar_h) $(gxfont_h) $(gxfont42_h) \
  2567.   $(gxistate_h) $(gxpath_h) $(gzstate_h) \
  2568.   $(dstack_h) $(estack_h) $(ichar_h) $(icharout_h) \
  2569.   $(ifont_h) $(igstate_h) $(store_h)
  2570.  
  2571. zfont42.$(OBJ): zfont42.c $(OP) \
  2572.   $(gsccode_h) $(gsmatrix_h) $(gxfont_h) $(gxfont42_h) \
  2573.   $(bfont_h) $(idict_h) $(idparam_h) $(store_h)
  2574.  
  2575. # ---------------- Obsolete PPM writing facility ---------------- #
  2576.  
  2577. writeppm_=zwppm.$(OBJ)
  2578. writeppm.dev: $(INT_MAK) $(ECHOGS_XE) $(writeppm_)
  2579.     $(SETMOD) writeppm $(writeppm_)
  2580.     $(ADDMOD) writeppm -oper zwppm
  2581.  
  2582. zwppm.$(OBJ): zwppm.c $(OP) $(memory__h) \
  2583.   $(files_h) $(gscdefs_h) $(gsmatrix_h) $(gxdevice_h) $(gxdevmem_h) \
  2584.   $(stream_h)
  2585.  
  2586. # ======================== Precompilation options ======================== #
  2587.  
  2588. # ---------------- Precompiled fonts ---------------- #
  2589. # See fonts.txt for more information.
  2590.  
  2591. ccfont_h=ccfont.h $(std_h) $(gsmemory_h) $(iref_h) $(ivmspace_h) $(store_h)
  2592.  
  2593. CCFONT=$(OP) $(ccfont_h)
  2594.  
  2595. # List the fonts we are going to compile.
  2596. # Because of intrinsic limitations in `make', we have to list
  2597. # the object file names and the font names separately.
  2598. # Because of limitations in the DOS shell, we have to break the fonts up
  2599. # into lists that will fit on a single line (120 characters).
  2600. # The rules for constructing the .c files from the fonts themselves,
  2601. # and for compiling the .c files, are in cfonts.mak, not here.
  2602. # For example, to compile the Courier fonts, you should invoke
  2603. #    make -f cfonts.mak Courier_o
  2604. # By convention, the names of the 35 standard compiled fonts use '0' for
  2605. # the foundry name.  This allows users to substitute different foundries
  2606. # without having to change this makefile.
  2607. ccfonts_ps=gs_ccfnt
  2608. ccfonts1_=0agk.$(OBJ) 0agko.$(OBJ) 0agd.$(OBJ) 0agdo.$(OBJ)
  2609. ccfonts1=agk agko agd agdo
  2610. ccfonts2_=0bkl.$(OBJ) 0bkli.$(OBJ) 0bkd.$(OBJ) 0bkdi.$(OBJ)
  2611. ccfonts2=bkl bkli bkd bkdi
  2612. ccfonts3_=0crr.$(OBJ) 0cri.$(OBJ) 0crb.$(OBJ) 0crbi.$(OBJ)
  2613. ccfonts3=crr cri crb crbi
  2614. ccfonts4_=0hvr.$(OBJ) 0hvro.$(OBJ) 0hvb.$(OBJ) 0hvbo.$(OBJ)
  2615. ccfonts4=hvr hvro hvb hvbo
  2616. ccfonts5_=0hvrrn.$(OBJ) 0hvrorn.$(OBJ) 0hvbrn.$(OBJ) 0hvborn.$(OBJ)
  2617. ccfonts5=hvrrn hvrorn hvbrn hvborn
  2618. ccfonts6_=0ncr.$(OBJ) 0ncri.$(OBJ) 0ncb.$(OBJ) 0ncbi.$(OBJ)
  2619. ccfonts6=ncr ncri ncb ncbi
  2620. ccfonts7_=0plr.$(OBJ) 0plri.$(OBJ) 0plb.$(OBJ) 0plbi.$(OBJ)
  2621. ccfonts7=plr plri plb plbi
  2622. ccfonts8_=0tmr.$(OBJ) 0tmri.$(OBJ) 0tmb.$(OBJ) 0tmbi.$(OBJ)
  2623. ccfonts8=tmr tmri tmb tmbi
  2624. ccfonts9_=0syr.$(OBJ) 0zcmi.$(OBJ) 0zdr.$(OBJ)
  2625. ccfonts9=syr zcmi zdr
  2626. # The free distribution includes Bitstream Charter, Utopia, and
  2627. # freeware Cyrillic and Kana fonts.  We only provide for compiling
  2628. # Charter and Utopia.
  2629. ccfonts10free_=bchr.$(OBJ) bchri.$(OBJ) bchb.$(OBJ) bchbi.$(OBJ)
  2630. ccfonts10free=chr chri chb chbi
  2631. ccfonts11free_=putr.$(OBJ) putri.$(OBJ) putb.$(OBJ) putbi.$(OBJ)
  2632. ccfonts11free=utr utri utb utbi
  2633. # Uncomment the alternatives in the next 4 lines if you want
  2634. # Charter and Utopia compiled in.
  2635. #ccfonts10_=$(ccfonts10free_)
  2636. ccfonts10_=
  2637. #ccfonts10=$(ccfonts10free)
  2638. ccfonts10=
  2639. #ccfonts11_=$(ccfonts11free_)
  2640. ccfonts11_=
  2641. #ccfonts11=$(ccfonts11free)
  2642. ccfonts11=
  2643. # Add your own fonts here if desired.
  2644. ccfonts12_=
  2645. ccfonts12=
  2646. ccfonts13_=
  2647. ccfonts13=
  2648. ccfonts14_=
  2649. ccfonts14=
  2650. ccfonts15_=
  2651. ccfonts15=
  2652.  
  2653. # It's OK for ccfonts_.dev not to be CONFIG-dependent, because it only
  2654. # exists during the execution of the following rule.
  2655. # font2c has the prefix "gs" built into it, so we need to instruct
  2656. # genconf to use the same one.
  2657. $(gconfigf_h): $(MAKEFILE) $(INT_MAK) $(GENCONF_XE)
  2658.     $(SETMOD) ccfonts_ -font $(ccfonts1)
  2659.     $(ADDMOD) ccfonts_ -font $(ccfonts2)
  2660.     $(ADDMOD) ccfonts_ -font $(ccfonts3)
  2661.     $(ADDMOD) ccfonts_ -font $(ccfonts4)
  2662.     $(ADDMOD) ccfonts_ -font $(ccfonts5)
  2663.     $(ADDMOD) ccfonts_ -font $(ccfonts6)
  2664.     $(ADDMOD) ccfonts_ -font $(ccfonts7)
  2665.     $(ADDMOD) ccfonts_ -font $(ccfonts8)
  2666.     $(ADDMOD) ccfonts_ -font $(ccfonts9)
  2667.     $(ADDMOD) ccfonts_ -font $(ccfonts10)
  2668.     $(ADDMOD) ccfonts_ -font $(ccfonts11)
  2669.     $(ADDMOD) ccfonts_ -font $(ccfonts12)
  2670.     $(ADDMOD) ccfonts_ -font $(ccfonts13)
  2671.     $(ADDMOD) ccfonts_ -font $(ccfonts14)
  2672.     $(ADDMOD) ccfonts_ -font $(ccfonts15)
  2673.     $(EXP)genconf ccfonts_.dev -n gs -f $(gconfigf_h)
  2674.  
  2675. # We separate icfontab.dev from ccfonts.dev so that a customer can put
  2676. # compiled fonts into a separate shared library.
  2677.  
  2678. icfontab=icfontab$(CONFIG)
  2679.  
  2680. # Define ccfont_table separately, so it can be set from the command line
  2681. # to select an alternate compiled font table.
  2682. ccfont_table=$(icfontab)
  2683.  
  2684. $(icfontab).dev: $(MAKEFILE) $(INT_MAK) $(ECHOGS_XE) $(icfontab).$(OBJ) \
  2685.   $(ccfonts1_) $(ccfonts2_) $(ccfonts3_) $(ccfonts4_) $(ccfonts5_) \
  2686.   $(ccfonts6_) $(ccfonts7_) $(ccfonts8_) $(ccfonts9_) $(ccfonts10_) \
  2687.   $(ccfonts11_) $(ccfonts12_) $(ccfonts13_) $(ccfonts14_) $(ccfonts15_)
  2688.     $(SETMOD) $(icfontab) -obj $(icfontab).$(OBJ)
  2689.     $(ADDMOD) $(icfontab) -obj $(ccfonts1_)
  2690.     $(ADDMOD) $(icfontab) -obj $(ccfonts2_)
  2691.     $(ADDMOD) $(icfontab) -obj $(ccfonts3_)
  2692.     $(ADDMOD) $(icfontab) -obj $(ccfonts4_)
  2693.     $(ADDMOD) $(icfontab) -obj $(ccfonts5_)
  2694.     $(ADDMOD) $(icfontab) -obj $(ccfonts6_)
  2695.     $(ADDMOD) $(icfontab) -obj $(ccfonts7_)
  2696.     $(ADDMOD) $(icfontab) -obj $(ccfonts8_)
  2697.     $(ADDMOD) $(icfontab) -obj $(ccfonts9_)
  2698.     $(ADDMOD) $(icfontab) -obj $(ccfonts10_)
  2699.     $(ADDMOD) $(icfontab) -obj $(ccfonts11_)
  2700.     $(ADDMOD) $(icfontab) -obj $(ccfonts12_)
  2701.     $(ADDMOD) $(icfontab) -obj $(ccfonts13_)
  2702.     $(ADDMOD) $(icfontab) -obj $(ccfonts14_)
  2703.     $(ADDMOD) $(icfontab) -obj $(ccfonts15_)
  2704.  
  2705. $(icfontab).$(OBJ): icfontab.c $(AK) $(ccfont_h) $(gconfigf_h)
  2706.     $(CP_) $(gconfigf_h) gconfigf.h
  2707.     $(CCCF) icfontab.c
  2708.  
  2709. # Strictly speaking, ccfonts shouldn't need to include type1,
  2710. # since one could choose to precompile only Type 0 fonts,
  2711. # but getting this exactly right would be too much work.
  2712. ccfonts=ccfonts$(CONFIG)
  2713. $(ccfonts).dev: $(MAKEFILE) $(INT_MAK) type1.dev iccfont.$(OBJ) \
  2714.   $(ccfont_table).dev
  2715.     $(SETMOD) $(ccfonts) -include type1
  2716.     $(ADDMOD) $(ccfonts) -include $(ccfont_table)
  2717.     $(ADDMOD) $(ccfonts) -obj iccfont.$(OBJ)
  2718.     $(ADDMOD) $(ccfonts) -oper ccfonts
  2719.     $(ADDMOD) $(ccfonts) -ps $(ccfonts_ps)
  2720.  
  2721. iccfont.$(OBJ): iccfont.c $(GH) $(string__h)\
  2722.  $(gsstruct_h) $(ccfont_h) $(errors_h)\
  2723.  $(ialloc_h) $(idict_h) $(ifont_h) $(iname_h) $(isave_h) $(iutil_h)\
  2724.  $(oper_h) $(ostack_h) $(store_h) $(stream_h) $(strimpl_h) $(sfilter_h) $(iscan_h)
  2725.     $(CCCF) iccfont.c
  2726.  
  2727. # ---------------- Compiled initialization code ---------------- #
  2728.  
  2729. # We select either iccinit0 or iccinit1 depending on COMPILE_INITS.
  2730.  
  2731. iccinit0.$(OBJ): iccinit0.c $(stdpre_h)
  2732.     $(CCCF) -I. -I$(srcdir) $(srcdir)/iccinit0.c
  2733.  
  2734. iccinit1.$(OBJ): gs_init.$(OBJ)
  2735.     $(CP_) gs_init.$(OBJ) iccinit1.$(OBJ)
  2736.  
  2737. # All the gs_*.ps files should be prerequisites of gs_init.c,
  2738. # but we don't have any convenient list of them.
  2739. gs_init.c: $(GS_INIT) $(GENINIT_XE) $(gconfig_h)
  2740.     cp $(srcdir)/gs_*.ps .
  2741.     $(EXP)geninit $(GS_INIT) $(gconfig_h) -c gs_init.c
  2742.  
  2743. gs_init.$(OBJ): gs_init.c $(stdpre_h)
  2744.     $(CCCF) -I. -I$(srcdir) gs_init.c
  2745.  
  2746. # ======================== PostScript Level 2 ======================== #
  2747.  
  2748. level2.dev: $(INT_MAK) $(ECHOGS_XE) \
  2749.  cidfont.dev cie.dev cmapread.dev compfont.dev dct.dev devctrl.dev dpsand2.dev\
  2750.  filter.dev level1.dev pattern.dev psl2lib.dev psl2read.dev sepr.dev\
  2751.  type42.dev xfilter.dev
  2752.     $(SETMOD) level2 -include cidfont cie cmapread compfont
  2753.     $(ADDMOD) level2 -include dct devctrl dpsand2 filter
  2754.     $(ADDMOD) level2 -include level1 pattern psl2lib psl2read
  2755.     $(ADDMOD) level2 -include sepr type42 xfilter
  2756.     $(ADDMOD) level2 -emulator PostScript PostScriptLevel2
  2757.  
  2758. # Define basic Level 2 language support.
  2759. # This is the minimum required for CMap and CIDFont support.
  2760.  
  2761. psl2int_=iutil2.$(OBJ) zmisc2.$(OBJ) zusparam.$(OBJ)
  2762. psl2int.dev: $(INT_MAK) $(ECHOGS_XE) $(psl2int_) dps2int.dev
  2763.     $(SETMOD) psl2int $(psl2int_)
  2764.     $(ADDMOD) psl2int -include dps2int
  2765.     $(ADDMOD) psl2int -oper zmisc2 zusparam
  2766.     $(ADDMOD) psl2int -ps gs_lev2 gs_res
  2767.  
  2768. iutil2.$(OBJ): iutil2.c $(GH) $(memory__h) $(string__h)\
  2769.  $(gsparam_h) $(gsutil_h)\
  2770.  $(errors_h) $(opcheck_h) $(imemory_h) $(iutil_h) $(iutil2_h)
  2771.  
  2772. zmisc2.$(OBJ): zmisc2.c $(OP) $(memory__h) $(string__h)\
  2773.  $(idict_h) $(idparam_h) $(iparam_h) $(dstack_h) $(estack_h)\
  2774.  $(ilevel_h) $(iname_h) $(iutil2_h) $(ivmspace_h) $(store_h)
  2775.  
  2776. # Note that zusparam includes both Level 1 and Level 2 operators.
  2777. zusparam.$(OBJ): zusparam.c $(OP) $(memory__h) $(string__h)\
  2778.  $(gscdefs_h) $(gsfont_h) $(gsstruct_h) $(gsutil_h) $(gxht_h)\
  2779.  $(ialloc_h) $(idict_h) $(idparam_h) $(iparam_h) $(dstack_h) $(estack_h)\
  2780.  $(iname_h) $(iutil2_h) $(store_h)
  2781.  
  2782. # Define full Level 2 support.
  2783.  
  2784. psl2read_=zcolor2.$(OBJ) zcsindex.$(OBJ) zht2.$(OBJ) zimage2.$(OBJ)
  2785. # Note that zmisc2 includes both Level 1 and Level 2 operators.
  2786. psl2read.dev: $(INT_MAK) $(ECHOGS_XE) $(psl2read_) psl2int.dev dps2read.dev
  2787.     $(SETMOD) psl2read $(psl2read_)
  2788.     $(ADDMOD) psl2read -include psl2int dps2read
  2789.     $(ADDMOD) psl2read -oper zcolor2_l2 zcsindex_l2
  2790.     $(ADDMOD) psl2read -oper zht2_l2 zimage2_l2
  2791.  
  2792. zcolor2.$(OBJ): zcolor2.c $(OP)\
  2793.  $(gscolor_h) $(gsmatrix_h) $(gsstruct_h)\
  2794.  $(gxcolor2_h) $(gxcspace_h) $(gxdcolor_h) $(gxdevice_h) $(gxdevmem_h) $(gxfixed_h) $(gxpcolor_h)\
  2795.  $(estack_h) $(ialloc_h) $(idict_h) $(idparam_h) $(igstate_h) $(istruct_h)\
  2796.  $(store_h)
  2797.  
  2798. zcsindex.$(OBJ): zcsindex.c $(OP) $(memory__h) \
  2799.   $(gscolor_h) $(gsstruct_h) $(gxfixed_h) $(gxcolor2_h) $(gxcspace_h) $(gsmatrix_h) \
  2800.   $(ialloc_h) $(icsmap_h) $(estack_h) $(igstate_h) $(ivmspace_h) $(store_h)
  2801.  
  2802. zht2.$(OBJ): zht2.c $(OP) \
  2803.   $(gsstruct_h) $(gxdevice_h) $(gzht_h) \
  2804.   $(estack_h) $(ialloc_h) $(icolor_h) $(idict_h) $(idparam_h) $(igstate_h) \
  2805.   $(store_h)
  2806.  
  2807. zimage2.$(OBJ): zimage2.c $(OP) $(math__h) $(memory__h)\
  2808.  $(gscolor_h) $(gscolor2_h) $(gscspace_h) $(gsimage_h) $(gsmatrix_h)\
  2809.  $(idict_h) $(idparam_h) $(iimage_h) $(ilevel_h) $(igstate_h)
  2810.  
  2811. # ---------------- Device control ---------------- #
  2812. # This is a catch-all for setpagedevice and IODevices.
  2813.  
  2814. devctrl_=zdevice2.$(OBJ) ziodev2.$(OBJ) zmedia2.$(OBJ) zdevcal.$(OBJ)
  2815. devctrl.dev: $(INT_MAK) $(ECHOGS_XE) $(devctrl_)
  2816.     $(SETMOD) devctrl $(devctrl_)
  2817.     $(ADDMOD) devctrl -oper zdevice2_l2 ziodev2_l2 zmedia2_l2
  2818.     $(ADDMOD) devctrl -iodev null ram calendar
  2819.     $(ADDMOD) devctrl -ps gs_setpd
  2820.  
  2821. zdevice2.$(OBJ): zdevice2.c $(OP) $(math__h) $(memory__h)\
  2822.  $(dstack_h) $(estack_h) $(idict_h) $(idparam_h) $(igstate_h) $(iname_h) $(store_h)\
  2823.  $(gxdevice_h) $(gsstate_h)
  2824.  
  2825. ziodev2.$(OBJ): ziodev2.c $(OP) $(string__h) $(gp_h)\
  2826.  $(gxiodev_h) $(stream_h) $(files_h) $(iparam_h) $(iutil2_h) $(store_h)
  2827.  
  2828. zmedia2.$(OBJ): zmedia2.c $(OP) $(math__h) $(memory__h) \
  2829.   $(gsmatrix_h) $(idict_h) $(idparam_h) $(iname_h) $(store_h)
  2830.  
  2831. zdevcal.$(OBJ): zdevcal.c $(GH) $(time__h) \
  2832.   $(gxiodev_h) $(iparam_h) $(istack_h)
  2833.  
  2834. # ---------------- Filters other than the ones in sfilter.c ---------------- #
  2835.  
  2836. # Standard Level 2 decoding filters only.  The PDF configuration uses this.
  2837. fdecode_=scantab.$(OBJ) sfilter2.$(OBJ) zfdecode.$(OBJ)
  2838. fdecode.dev: $(INT_MAK) $(ECHOGS_XE) $(fdecode_) cfd.dev lzwd.dev pdiff.dev pngp.dev rld.dev
  2839.     $(SETMOD) fdecode $(fdecode_)
  2840.     $(ADDMOD) fdecode -include cfd lzwd pdiff pngp rld
  2841.     $(ADDMOD) fdecode -oper zfdecode
  2842.  
  2843. zfdecode.$(OBJ): zfdecode.c $(OP) $(memory__h)\
  2844.  $(gsstruct_h) $(ialloc_h) $(idict_h) $(idparam_h) $(ifilter_h) \
  2845.  $(sa85x_h) $(scf_h) $(scfx_h) $(sfilter_h) $(slzwx_h) $(spdiffx_h) $(spngpx_h) \
  2846.  $(store_h) $(stream_h) $(strimpl_h)
  2847.  
  2848. # Complete Level 2 filter capability.
  2849. filter_=zfilter2.$(OBJ)
  2850. filter.dev: $(INT_MAK) $(ECHOGS_XE) fdecode.dev $(filter_) cfe.dev lzwe.dev rle.dev
  2851.     $(SETMOD) filter -include fdecode
  2852.     $(ADDMOD) filter -obj $(filter_)
  2853.     $(ADDMOD) filter -include cfe lzwe rle
  2854.     $(ADDMOD) filter -oper zfilter2
  2855.  
  2856. zfilter2.$(OBJ): zfilter2.c $(OP) $(memory__h)\
  2857.   $(gsstruct_h) $(ialloc_h) $(idict_h) $(idparam_h) $(ifilter_h) $(store_h) \
  2858.   $(sfilter_h) $(scfx_h) $(slzwx_h) $(spdiffx_h) $(spngpx_h) $(strimpl_h)
  2859.  
  2860. # Extensions beyond Level 2 standard.
  2861. xfilter_=sbhc.$(OBJ) sbwbs.$(OBJ) shcgen.$(OBJ) smtf.$(OBJ) \
  2862.  zfilterx.$(OBJ)
  2863. xfilter.dev: $(INT_MAK) $(ECHOGS_XE) $(xfilter_) pcxd.dev pngp.dev
  2864.     $(SETMOD) xfilter $(xfilter_)
  2865.     $(ADDMOD) xfilter -include pcxd
  2866.     $(ADDMOD) xfilter -oper zfilterx
  2867.  
  2868. sbhc.$(OBJ): sbhc.c $(AK) $(memory__h) $(stdio__h)\
  2869.  $(gdebug_h) $(sbhc_h) $(shcgen_h) $(strimpl_h)
  2870.  
  2871. sbwbs.$(OBJ): sbwbs.c $(AK) $(stdio__h) $(memory__h) \
  2872.   $(gdebug_h) $(sbwbs_h) $(sfilter_h) $(strimpl_h)
  2873.  
  2874. shcgen.$(OBJ): shcgen.c $(AK) $(memory__h) $(stdio__h)\
  2875.  $(gdebug_h) $(gserror_h) $(gserrors_h) $(gsmemory_h)\
  2876.  $(scommon_h) $(shc_h) $(shcgen_h)
  2877.  
  2878. smtf.$(OBJ): smtf.c $(AK) $(stdio__h) \
  2879.   $(smtf_h) $(strimpl_h)
  2880.  
  2881. zfilterx.$(OBJ): zfilterx.c $(OP) $(memory__h)\
  2882.  $(gsstruct_h) $(ialloc_h) $(idict_h) $(idparam_h) $(ifilter_h)\
  2883.  $(store_h) $(sfilter_h) $(sbhc_h) $(sbtx_h) $(sbwbs_h) $(shcgen_h)\
  2884.  $(smtf_h) $(spcxx_h) $(strimpl_h)
  2885.  
  2886. # ---------------- Binary tokens ---------------- #
  2887.  
  2888. btoken_=iscanbin.$(OBJ) zbseq.$(OBJ)
  2889. btoken.dev: $(INT_MAK) $(ECHOGS_XE) $(btoken_)
  2890.     $(SETMOD) btoken $(btoken_)
  2891.     $(ADDMOD) btoken -oper zbseq_l2
  2892.     $(ADDMOD) btoken -ps gs_btokn
  2893.  
  2894. bseq_h=bseq.h
  2895. btoken_h=btoken.h
  2896.  
  2897. iscanbin.$(OBJ): iscanbin.c $(GH) $(math__h) $(memory__h) $(errors_h)\
  2898.  $(gsutil_h) $(ialloc_h) $(ibnum_h) $(idict_h) $(iname_h)\
  2899.  $(iscan_h) $(iutil_h) $(ivmspace_h)\
  2900.  $(bseq_h) $(btoken_h) $(dstack_h) $(ostack_h)\
  2901.  $(sfilter_h) $(store_h) $(stream_h) $(strimpl_h)
  2902.  
  2903. zbseq.$(OBJ): zbseq.c $(OP) $(memory__h)\
  2904.  $(ialloc_h) $(idict_h) $(isave_h)\
  2905.  $(sfilter_h) $(store_h) $(stream_h) $(strimpl_h)\
  2906.  $(iname_h) $(ibnum_h) $(btoken_h) $(bseq_h)
  2907.  
  2908. # ---------------- User paths & insideness testing ---------------- #
  2909.  
  2910. upath_=zupath.$(OBJ) ibnum.$(OBJ)
  2911. upath.dev: $(INT_MAK) $(ECHOGS_XE) $(upath_)
  2912.     $(SETMOD) upath $(upath_)
  2913.     $(ADDMOD) upath -oper zupath_l2
  2914.  
  2915. zupath.$(OBJ): zupath.c $(OP) \
  2916.   $(idict_h) $(dstack_h) $(iutil_h) $(igstate_h) $(store_h) $(stream_h) $(ibnum_h) \
  2917.   $(gscoord_h) $(gsmatrix_h) $(gspaint_h) $(gspath_h) $(gsstate_h) \
  2918.   $(gxfixed_h) $(gxdevice_h) $(gzpath_h) $(gzstate_h)
  2919.  
  2920. # -------- Additions common to Display PostScript and Level 2 -------- #
  2921.  
  2922. dpsand2.dev: $(INT_MAK) $(ECHOGS_XE) btoken.dev color.dev upath.dev dps2lib.dev dps2read.dev
  2923.     $(SETMOD) dpsand2 -include btoken color upath dps2lib dps2read
  2924.  
  2925. dps2int_=zvmem2.$(OBJ) zdps1.$(OBJ)
  2926. # Note that zvmem2 includes both Level 1 and Level 2 operators.
  2927. dps2int.dev: $(INT_MAK) $(ECHOGS_XE) $(dps2int_)
  2928.     $(SETMOD) dps2int $(dps2int_)
  2929.     $(ADDMOD) dps2int -oper zvmem2 zdps1_l2
  2930.     $(ADDMOD) dps2int -ps gs_dps1
  2931.  
  2932. dps2read_=ibnum.$(OBJ) zchar2.$(OBJ)
  2933. dps2read.dev: $(INT_MAK) $(ECHOGS_XE) $(dps2read_) dps2int.dev
  2934.     $(SETMOD) dps2read $(dps2read_)
  2935.     $(ADDMOD) dps2read -include dps2int
  2936.     $(ADDMOD) dps2read -oper ireclaim_l2 zchar2_l2
  2937.     $(ADDMOD) dps2read -ps gs_dps2
  2938.  
  2939. ibnum.$(OBJ): ibnum.c $(GH) $(math__h) $(memory__h)\
  2940.  $(errors_h) $(stream_h) $(ibnum_h) $(imemory_h) $(iutil_h)
  2941.  
  2942. zchar2.$(OBJ): zchar2.c $(OP)\
  2943.  $(gschar_h) $(gsmatrix_h) $(gspath_h) $(gsstruct_h)\
  2944.  $(gxchar_h) $(gxfixed_h) $(gxfont_h)\
  2945.  $(ialloc_h) $(ichar_h) $(estack_h) $(ifont_h) $(iname_h) $(igstate_h)\
  2946.  $(store_h) $(stream_h) $(ibnum_h)
  2947.  
  2948. zdps1.$(OBJ): zdps1.c $(OP) \
  2949.   $(gsmatrix_h) $(gspath_h) $(gspath2_h) $(gsstate_h) \
  2950.   $(ialloc_h) $(ivmspace_h) $(igstate_h) $(store_h) $(stream_h) $(ibnum_h)
  2951.  
  2952. zvmem2.$(OBJ): zvmem2.c $(OP) \
  2953.   $(estack_h) $(ialloc_h) $(ivmspace_h) $(store_h)
  2954.  
  2955. # ---------------- Display PostScript ---------------- #
  2956.  
  2957. dps_=zdps.$(OBJ) icontext.$(OBJ) zcontext.$(OBJ)
  2958. dps.dev: $(INT_MAK) $(ECHOGS_XE) dpslib.dev level2.dev $(dps_)
  2959.     $(SETMOD) dps -include dpslib level2
  2960.     $(ADDMOD) dps -obj $(dps_)
  2961.     $(ADDMOD) dps -oper zcontext zdps
  2962.     $(ADDMOD) dps -ps gs_dps
  2963.  
  2964. icontext.$(OBJ): icontext.c $(GH)\
  2965.  $(gsstruct_h) $(gxalloc_h)\
  2966.  $(dstack_h) $(errors_h) $(estack_h) $(ostack_h)\
  2967.  $(icontext_h) $(igstate_h) $(interp_h) $(store_h)
  2968.  
  2969. zdps.$(OBJ): zdps.c $(OP)\
  2970.  $(gsdps_h) $(gsstate_h) $(igstate_h) $(iname_h) $(store_h)
  2971.  
  2972. zcontext.$(OBJ): zcontext.c $(OP) $(gp_h) $(memory__h)\
  2973.  $(gsexit_h) $(gsstruct_h) $(gsutil_h) $(gxalloc_h)\
  2974.  $(icontext_h) $(idict_h) $(igstate_h) $(istruct_h)\
  2975.  $(dstack_h) $(estack_h) $(ostack_h) $(store_h)
  2976.  
  2977. # The following #ifdef ... #endif are just a comment to mark a DPNEXT area.
  2978. #ifdef DPNEXT
  2979.  
  2980. # ---------------- NeXT Display PostScript ---------------- #
  2981. #**************** NOT READY FOR USE YET ****************#
  2982.  
  2983. # There should be a gsdpnext.c, but there isn't yet.
  2984. #dpsnext_=zdpnext.$(OBJ) gsdpnext.$(OBJ)
  2985. dpsnext_=zdpnext.$(OBJ)
  2986. dpsnext.dev: $(INT_MAK) $(ECHOGS_XE) dps.dev $(dpsnext_) gs_dpnxt.ps
  2987.     $(SETMOD) dpsnext -include dps
  2988.     $(ADDMOD) dpsnext -obj $(dpsnext_)
  2989.     $(ADDMOD) dpsnext -oper zdpnext
  2990.     $(ADDMOD) dpsnext -ps gs_dpnxt
  2991.  
  2992. zdpnext.$(OBJ): zdpnext.c $(OP)\
  2993.  $(gscspace_h) $(gsiparam_h) $(gsmatrix_h) $(gxcvalue_h) $(gxsample_h)\
  2994.  $(ialloc_h) $(igstate_h) $(iimage_h)
  2995.  
  2996. # See above re the following.
  2997. #endif                /* DPNEXT */
  2998.  
  2999. # -------- Composite (PostScript Type 0) font support -------- #
  3000.  
  3001. compfont.dev: $(INT_MAK) $(ECHOGS_XE) psf0lib.dev psf0read.dev
  3002.     $(SETMOD) compfont -include psf0lib psf0read
  3003.  
  3004. # We always include zfcmap.$(OBJ) because zfont0.c refers to it,
  3005. # and it's not worth the trouble to exclude.
  3006. psf0read_=zchar2.$(OBJ) zfcmap.$(OBJ) zfont0.$(OBJ)
  3007. psf0read.dev: $(INT_MAK) $(ECHOGS_XE) $(psf0read_)
  3008.     $(SETMOD) psf0read $(psf0read_)
  3009.     $(ADDMOD) psf0read -oper zfont0 zchar2 zfcmap
  3010.  
  3011. zfcmap.$(OBJ): zfcmap.c $(OP)\
  3012.  $(gsmatrix_h) $(gsstruct_h) $(gsutil_h)\
  3013.  $(gxfcmap_h) $(gxfont_h)\
  3014.  $(ialloc_h) $(idict_h) $(idparam_h) $(ifont_h) $(iname_h) $(store_h)
  3015.  
  3016. zfont0.$(OBJ): zfont0.c $(OP)\
  3017.  $(gschar_h) $(gsstruct_h)\
  3018.  $(gxdevice_h) $(gxfcmap_h) $(gxfixed_h) $(gxfont_h) $(gxfont0_h) $(gxmatrix_h)\
  3019.  $(gzstate_h)\
  3020.  $(bfont_h) $(ialloc_h) $(idict_h) $(idparam_h) $(igstate_h) $(iname_h)\
  3021.  $(store_h)
  3022.  
  3023. # ---------------- CMap support ---------------- #
  3024. # Note that this requires at least minimal Level 2 support,
  3025. # because it requires findresource.
  3026.  
  3027. cmapread_=zfcmap.$(OBJ)
  3028. cmapread.dev: $(INT_MAK) $(ECHOGS_XE) $(cmapread_) cmaplib.dev psl2int.dev
  3029.     $(SETMOD) cmapread $(cmapread_)
  3030.     $(ADDMOD) cmapread -include cmaplib psl2int
  3031.     $(ADDMOD) cmapread -oper zfcmap
  3032.     $(ADDMOD) cmapread -ps gs_cmap
  3033.  
  3034. # ---------------- CIDFont support ---------------- #
  3035. # Note that this requires at least minimal Level 2 support,
  3036. # because it requires findresource.
  3037.  
  3038. cidread_=zcid.$(OBJ)
  3039. cidfont.dev: $(INT_MAK) $(ECHOGS_XE) psf1read.dev psl2int.dev type42.dev\
  3040.  $(cidread_)
  3041.     $(SETMOD) cidfont $(cidread_)
  3042.     $(ADDMOD) cidfont -include psf1read psl2int type42
  3043.     $(ADDMOD) cidfont -ps gs_cidfn
  3044.     $(ADDMOD) cidfont -oper zcid
  3045.  
  3046. zcid.$(OBJ): zcid.c $(OP)\
  3047.  $(gsccode_h) $(gsmatrix_h) $(gxfont_h)\
  3048.  $(bfont_h) $(iname_h) $(store_h)
  3049.  
  3050. # ---------------- CIE color ---------------- #
  3051.  
  3052. cieread_=zcie.$(OBJ) zcrd.$(OBJ)
  3053. cie.dev: $(INT_MAK) $(ECHOGS_XE) $(cieread_) cielib.dev
  3054.     $(SETMOD) cie $(cieread_)
  3055.     $(ADDMOD) cie -oper zcie_l2 zcrd_l2
  3056.     $(ADDMOD) cie -include cielib
  3057.  
  3058. icie_h=icie.h
  3059.  
  3060. zcie.$(OBJ): zcie.c $(OP) $(math__h) $(memory__h) \
  3061.   $(gscolor2_h) $(gscie_h) $(gsstruct_h) $(gxcspace_h) \
  3062.   $(ialloc_h) $(icie_h) $(idict_h) $(idparam_h) $(estack_h) \
  3063.   $(isave_h) $(igstate_h) $(ivmspace_h) $(store_h)
  3064.  
  3065. zcrd.$(OBJ): zcrd.c $(OP) $(math__h) \
  3066.   $(gscspace_h) $(gscolor2_h) $(gscie_h) $(gsstruct_h) \
  3067.   $(ialloc_h) $(icie_h) $(idict_h) $(idparam_h) $(estack_h) \
  3068.   $(isave_h) $(igstate_h) $(ivmspace_h) $(store_h)
  3069.  
  3070. # ---------------- Pattern color ---------------- #
  3071.  
  3072. pattern.dev: $(INT_MAK) $(ECHOGS_XE) patlib.dev patread.dev
  3073.     $(SETMOD) pattern -include patlib patread
  3074.  
  3075. patread_=zpcolor.$(OBJ)
  3076. patread.dev: $(INT_MAK) $(ECHOGS_XE) $(patread_)
  3077.     $(SETMOD) patread $(patread_)
  3078.     $(ADDMOD) patread -oper zpcolor_l2
  3079.  
  3080. zpcolor.$(OBJ): zpcolor.c $(OP)\
  3081.  $(gscolor_h) $(gsmatrix_h) $(gsstruct_h)\
  3082.  $(gxcolor2_h) $(gxcspace_h) $(gxdcolor_h) $(gxdevice_h) $(gxdevmem_h)\
  3083.    $(gxfixed_h) $(gxpcolor_h)\
  3084.  $(estack_h) $(ialloc_h) $(idict_h) $(idparam_h) $(igstate_h) $(istruct_h)\
  3085.  $(store_h)
  3086.  
  3087. # ---------------- Separation color ---------------- #
  3088.  
  3089. seprread_=zcssepr.$(OBJ)
  3090. sepr.dev: $(INT_MAK) $(ECHOGS_XE) $(seprread_) seprlib.dev
  3091.     $(SETMOD) sepr $(seprread_)
  3092.     $(ADDMOD) sepr -oper zcssepr_l2
  3093.     $(ADDMOD) sepr -include seprlib
  3094.  
  3095. zcssepr.$(OBJ): zcssepr.c $(OP) \
  3096.   $(gscolor_h) $(gscsepr_h) $(gsmatrix_h) $(gsstruct_h) \
  3097.   $(gxcolor2_h) $(gxcspace_h) $(gxfixed_h) \
  3098.   $(ialloc_h) $(icsmap_h) $(estack_h) $(igstate_h) $(ivmspace_h) $(store_h)
  3099.  
  3100. # ---------------- Functions ---------------- #
  3101.  
  3102. ifunc_h=ifunc.h
  3103.  
  3104. # Generic support, and FunctionType 0.
  3105. funcread_=zfunc.$(OBJ) zfunc0.$(OBJ)
  3106. func.dev: $(INT_MAK) $(ECHOGS_XE) $(funcread_) funclib.dev
  3107.     $(SETMOD) func $(funcread_)
  3108.     $(ADDMOD) func -oper zfunc zfunc0
  3109.     $(ADDMOD) func -include funclib
  3110.  
  3111. zfunc.$(OBJ): zfunc.c $(OP) $(memory__h)\
  3112.  $(gsfunc_h) $(gsstruct_h)\
  3113.  $(ialloc_h) $(idict_h) $(idparam_h) $(ifunc_h) $(store_h)
  3114.  
  3115. zfunc0.$(OBJ): zfunc0.c $(OP) $(memory__h)\
  3116.  $(gsdsrc_h) $(gsfunc_h) $(gsfunc0_h)\
  3117.  $(stream_h)\
  3118.  $(files_h) $(ialloc_h) $(idict_h) $(idparam_h) $(ifunc_h)
  3119.  
  3120. # ---------------- DCT filters ---------------- #
  3121. # The definitions for jpeg*.dev are in jpeg.mak.
  3122.  
  3123. dct.dev: $(INT_MAK) $(ECHOGS_XE) dcte.dev dctd.dev
  3124.     $(SETMOD) dct -include dcte dctd
  3125.  
  3126. # Common code
  3127.  
  3128. dctc_=zfdctc.$(OBJ)
  3129.  
  3130. zfdctc.$(OBJ): zfdctc.c $(GH) $(memory__h) $(stdio__h)\
  3131.  $(errors_h) $(opcheck_h)\
  3132.  $(idict_h) $(idparam_h) $(imemory_h) $(ipacked_h) $(iutil_h)\
  3133.  $(sdct_h) $(sjpeg_h) $(strimpl_h)\
  3134.  jpeglib.h
  3135.  
  3136. # Encoding (compression)
  3137.  
  3138. dcte_=$(dctc_) zfdcte.$(OBJ)
  3139. dcte.dev: $(INT_MAK) $(ECHOGS_XE) sdcte.dev $(dcte_)
  3140.     $(SETMOD) dcte -include sdcte
  3141.     $(ADDMOD) dcte -obj $(dcte_)
  3142.     $(ADDMOD) dcte -oper zfdcte
  3143.  
  3144. zfdcte.$(OBJ): zfdcte.c $(OP) $(memory__h) $(stdio__h)\
  3145.   $(idict_h) $(idparam_h) $(ifilter_h) $(sdct_h) $(sjpeg_h) $(strimpl_h) \
  3146.   jpeglib.h
  3147.  
  3148. # Decoding (decompression)
  3149.  
  3150. dctd_=$(dctc_) zfdctd.$(OBJ)
  3151. dctd.dev: $(INT_MAK) $(ECHOGS_XE) sdctd.dev $(dctd_)
  3152.     $(SETMOD) dctd -include sdctd
  3153.     $(ADDMOD) dctd -obj $(dctd_)
  3154.     $(ADDMOD) dctd -oper zfdctd
  3155.  
  3156. zfdctd.$(OBJ): zfdctd.c $(OP) $(memory__h) $(stdio__h)\
  3157.  $(ifilter_h) $(sdct_h) $(sjpeg_h) $(strimpl_h) \
  3158.  jpeglib.h
  3159.  
  3160. # ---------------- zlib/Flate filters ---------------- #
  3161.  
  3162. fzlib.dev: $(INT_MAK) $(ECHOGS_XE) zfzlib.$(OBJ) szlibe.dev szlibd.dev
  3163.     $(SETMOD) fzlib -include szlibe szlibd
  3164.     $(ADDMOD) fzlib -obj zfzlib.$(OBJ)
  3165.     $(ADDMOD) fzlib -oper zfzlib
  3166.  
  3167. zfzlib.$(OBJ): zfzlib.c $(OP) \
  3168.   $(errors_h) $(idict_h) $(ifilter_h) \
  3169.   $(spdiffx_h) $(spngpx_h) $(strimpl_h) $(szlibx_h)
  3170.     $(CCCZ) $(srcdir)/zfzlib.c
  3171.  
  3172. # ================================ PDF ================================ #
  3173.  
  3174. # We need most of the Level 2 interpreter to do PDF, but not all of it.
  3175. # In fact, we don't even need all of a Level 1 interpreter.
  3176.  
  3177. # Because of the way the PDF encodings are defined, they must get loaded
  3178. # before we install the Level 2 resource machinery.
  3179. # On the other hand, the PDF .ps files must get loaded after
  3180. # level2dict is defined.
  3181. pdfmin.dev: $(INT_MAK) $(ECHOGS_XE)\
  3182.  psbase.dev color.dev dps2lib.dev dps2read.dev\
  3183.  fdecode.dev type1.dev pdffonts.dev psl2lib.dev psl2read.dev pdfread.dev
  3184.     $(SETMOD) pdfmin -include psbase color dps2lib dps2read
  3185.     $(ADDMOD) pdfmin -include fdecode type1
  3186.     $(ADDMOD) pdfmin -include pdffonts psl2lib psl2read pdfread
  3187.     $(ADDMOD) pdfmin -emulator PDF
  3188.  
  3189. pdf.dev: $(INT_MAK) $(ECHOGS_XE)\
  3190.  pdfmin.dev cff.dev cidfont.dev cie.dev compfont.dev cmapread.dev dctd.dev\
  3191.  func.dev ttfont.dev type2.dev
  3192.     $(SETMOD) pdf -include pdfmin cff cidfont cie cmapread compfont dctd
  3193.     $(ADDMOD) pdf -include func ttfont type2
  3194.  
  3195. # Reader only
  3196.  
  3197. pdffonts.dev: $(INT_MAK) $(ECHOGS_XE) \
  3198.   gs_mex_e.ps gs_mro_e.ps gs_pdf_e.ps gs_wan_e.ps
  3199.     $(SETMOD) pdffonts -ps gs_mex_e gs_mro_e gs_pdf_e gs_wan_e
  3200.  
  3201. # pdf_2ps must be the last .ps file loaded.
  3202. pdfread.dev: $(INT_MAK) $(ECHOGS_XE) fzlib.dev
  3203.     $(SETMOD) pdfread -include fzlib
  3204.     $(ADDMOD) pdfread -ps gs_pdf gs_l2img
  3205.     $(ADDMOD) pdfread -ps pdf_base pdf_draw pdf_font pdf_main pdf_sec
  3206.     $(ADDMOD) pdfread -ps pdf_2ps
  3207.  
  3208. # ============================= Main program ============================== #
  3209.  
  3210. gs.$(OBJ): gs.c $(GH) \
  3211.   $(imain_h) $(imainarg_h) $(iminst_h)
  3212.  
  3213. imainarg.$(OBJ): imainarg.c $(GH) $(ctype__h) $(memory__h) $(string__h) \
  3214.   $(gp_h) \
  3215.   $(gsargs_h) $(gscdefs_h) $(gsdevice_h) $(gsmdebug_h) $(gxdevice_h) $(gxdevmem_h) \
  3216.   $(errors_h) $(estack_h) $(files_h) \
  3217.   $(ialloc_h) $(imain_h) $(imainarg_h) $(iminst_h) \
  3218.   $(iname_h) $(interp_h) $(iscan_h) $(iutil_h) $(ivmspace_h) \
  3219.   $(ostack_h) $(sfilter_h) $(store_h) $(stream_h) $(strimpl_h)
  3220.  
  3221. imain.$(OBJ): imain.c $(GH) $(memory__h) $(string__h)\
  3222.  $(gp_h) $(gslib_h) $(gsmatrix_h) $(gsutil_h) $(gxdevice_h)\
  3223.  $(dstack_h) $(errors_h) $(estack_h) $(files_h)\
  3224.  $(ialloc_h) $(idebug_h) $(idict_h) $(iname_h) $(interp_h)\
  3225.  $(isave_h) $(iscan_h) $(ivmspace_h)\
  3226.  $(main_h) $(oper_h) $(ostack_h)\
  3227.  $(sfilter_h) $(store_h) $(stream_h) $(strimpl_h)
  3228.  
  3229. interp.$(OBJ): interp.c $(GH) $(memory__h) $(string__h)\
  3230.  $(gsstruct_h)\
  3231.  $(dstack_h) $(errors_h) $(estack_h) $(files_h)\
  3232.  $(ialloc_h) $(iastruct_h) $(inamedef_h) $(idict_h) $(interp_h) $(ipacked_h)\
  3233.  $(iscan_h) $(isave_h) $(istack_h) $(iutil_h) $(ivmspace_h)\
  3234.  $(oper_h) $(ostack_h) $(sfilter_h) $(store_h) $(stream_h) $(strimpl_h)
  3235.     $(CCINT) -I. $(srcdir)/interp.c
  3236.  
  3237. ireclaim.$(OBJ): ireclaim.c $(GH) \
  3238.   $(errors_h) $(gsstruct_h) $(iastate_h) $(opdef_h) $(store_h) \
  3239.   $(dstack_h) $(estack_h) $(ostack_h)
  3240. #    Copyright (C) 1994, 1996, 1997 Aladdin Enterprises.  All rights reserved.
  3241. # This file is part of Aladdin Ghostscript.
  3242. # Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND.  No author
  3243. # or distributor accepts any responsibility for the consequences of using it,
  3244. # or for whether it serves any particular purpose or works at all, unless he
  3245. # or she says so in writing.  Refer to the Aladdin Ghostscript Free Public
  3246. # License (the "License") for full details.
  3247. # Every copy of Aladdin Ghostscript must include a copy of the License,
  3248. # normally in a plain ASCII text file named PUBLIC.  The License grants you
  3249. # the right to copy, modify and redistribute Aladdin Ghostscript, but only
  3250. # under certain conditions described in the License.  Among other things, the
  3251. # License requires that the copyright notice and this notice be preserved on
  3252. # all copies.
  3253.  
  3254. # makefile for Independent JPEG Group library code.
  3255.  
  3256. # NOTE: This makefile is only known to work with the following versions
  3257. # of the IJG library: 6, 6a.
  3258. # As of May 11, 1996, version 6a is the current version.
  3259. #
  3260. # You can get the IJG library by Internet anonymous FTP from the following
  3261. # places:
  3262. #    Standard distribution (tar + gzip format, Unix end-of-line):
  3263. #        ftp.uu.net:/graphics/jpeg/jpegsrc.v*.tar.gz
  3264. #        ftp.cs.wisc.edu:/ghost/jpegsrc.v*.tar.gz
  3265. #    MS-DOS archive (PKZIP a.k.a. zip format, MS-DOS end-of-line):
  3266. #        ftp.simtel.net:/pub/simtelnet/msdos/graphics/jpegsr*.zip
  3267. #        ftp.cs.wisc.edu:/ghost/jpeg-*.zip
  3268. # The first site named above (ftp.uu.net and ftp.simtel.net) is supposed
  3269. # to be the master distribution site, so it may have a more up-to-date
  3270. # version; the ftp.cs.wisc.edu site is the master distribution site for
  3271. # Ghostscript, so it will always have IJG library versions known to be
  3272. # compatible with Ghostscript.
  3273. #
  3274. # If the version number, and hence the subdirectory name, changes, you
  3275. # will probably want to change the definitions of JSRCDIR and possibly
  3276. # JVERSION (in the platform-specific makefile, not here) to reflect this,
  3277. # since that way you can use the IJG archive without change.
  3278. #
  3279. # NOTE: For some obscure reason (probably a bug in djtarx), if you are
  3280. # compiling on a DesqView/X system, you should use the zip version of the
  3281. # IJG library, not the tar.gz version.
  3282.  
  3283. # Define the name of this makefile.
  3284. JPEG_MAK=jpeg.mak
  3285.  
  3286. # JSRCDIR is defined in the platform-specific makefile, not here,
  3287. # as the directory where the IJG library sources are stored.
  3288. #JSRCDIR=jpeg-6a
  3289. # JVERSION is defined in the platform-specific makefile, not here,
  3290. # as the IJG library major version number (currently "5" or "6").
  3291. #JVERSION=6
  3292.  
  3293. JSRC=$(JSRCDIR)$(D)
  3294. # CCCJ is defined in gs.mak.
  3295. #CCCJ=$(CCC) -I. -I$(JSRCDIR)
  3296.  
  3297. # We keep all of the IJG code in a separate directory so as not to
  3298. # inadvertently mix it up with Aladdin Enterprises' own code.
  3299. # However, we need our own version of jconfig.h, and our own "wrapper" for
  3300. # jmorecfg.h.  We also need a substitute for jerror.c, in order to
  3301. # keep the error strings out of the automatic data segment in
  3302. # 16-bit environments.  For v5*, we also need our own version of jpeglib.h
  3303. # in order to change MAX_BLOCKS_IN_MCU for Adobe compatibility.
  3304. # (This need will go away when IJG v6 is released.)
  3305.  
  3306. # Because this file is included after lib.mak, we can't use _h macros
  3307. # to express indirect dependencies; instead, we build the dependencies
  3308. # into the rules for copying the files.
  3309. jconfig_h=jconfig.h
  3310. jerror_h=jerror.h
  3311. jmorecfg_h=jmorecfg.h
  3312. jpeglib_h=jpeglib.h
  3313.  
  3314. jconfig.h: gsjconf.h $(std_h)
  3315.     $(CP_) $(srcdir)/gsjconf.h jconfig.h
  3316.  
  3317. jmorecfg.h: gsjmorec.h jmcorig.h
  3318.     $(CP_) $(srcdir)/gsjmorec.h jmorecfg.h
  3319.  
  3320. jmcorig.h: $(JSRC)jmorecfg.h
  3321.     $(CP_) $(JSRC)jmorecfg.h jmcorig.h
  3322.  
  3323. jpeglib.h: jlib$(JVERSION).h jconfig.h jmorecfg.h
  3324.     $(CP_) jlib$(JVERSION).h jpeglib.h
  3325.  
  3326. jlib5.h: gsjpglib.h
  3327.     $(CP_) $(srcdir)/gsjpglib.h jlib5.h
  3328.  
  3329. jlib6.h: $(JSRC)jpeglib.h
  3330.     $(CP_) $(JSRC)jpeglib.h jlib6.h
  3331.  
  3332. # To ensure that the compiler finds our versions of jconfig.h and jmorecfg.h,
  3333. # regardless of the compiler's search rule, we must copy up all .c files,
  3334. # and all .h files that include either of these files, directly or
  3335. # indirectly.  The only such .h files currently are jinclude.h and jpeglib.h.
  3336. # (Currently, we supply our own version of jpeglib.h -- see above.)
  3337. # Also, to avoid including the JSRCDIR directory name in our source files,
  3338. # we must also copy up any other .h files that our own code references.
  3339. # Currently, the only such .h files are jerror.h and jversion.h.
  3340.  
  3341. JHCOPY=jinclude.h jpeglib.h jerror.h jversion.h
  3342.  
  3343. jinclude.h: $(JSRC)jinclude.h
  3344.     $(CP_) $(JSRC)jinclude.h jinclude.h
  3345.  
  3346. #jpeglib.h: $(JSRC)jpeglib.h
  3347. #    $(CP_) $(JSRC)jpeglib.h jpeglib.h
  3348.  
  3349. jerror.h: $(JSRC)jerror.h
  3350.     $(CP_) $(JSRC)jerror.h jerror.h
  3351.  
  3352. jversion.h: $(JSRC)jversion.h
  3353.     $(CP_) $(JSRC)jversion.h jversion.h
  3354.  
  3355. # In order to avoid having to keep the dependency lists for the IJG code
  3356. # accurate, we simply make all of them depend on the only files that
  3357. # we are ever going to change, and on all the .h files that must be copied up.
  3358. # This is too conservative, but only hurts us if we are changing our own
  3359. # j*.h files, which happens only rarely during development.
  3360.  
  3361. JDEP=$(AK) $(jconfig_h) $(jerror_h) $(jmorecfg_h) $(JHCOPY)
  3362.  
  3363. # Code common to compression and decompression.
  3364.  
  3365. jpegc_=jcomapi.$(OBJ) jutils.$(OBJ) sjpegerr.$(OBJ) jmemmgr.$(OBJ)
  3366. jpegc.dev: $(JPEG_MAK) $(ECHOGS_XE) $(jpegc_)
  3367.     $(SETMOD) jpegc $(jpegc_)
  3368.  
  3369. jcomapi.$(OBJ): $(JSRC)jcomapi.c $(JDEP)
  3370.     $(CP_) $(JSRC)jcomapi.c .
  3371.     $(CCCJ) jcomapi.c
  3372.     $(RM_) jcomapi.c
  3373.  
  3374. jutils.$(OBJ): $(JSRC)jutils.c $(JDEP)
  3375.     $(CP_) $(JSRC)jutils.c .
  3376.     $(CCCJ) jutils.c
  3377.     $(RM_) jutils.c
  3378.  
  3379. # Note that sjpegerr replaces jerror.
  3380. sjpegerr.$(OBJ): $(srcdir)/sjpegerr.c $(JDEP)
  3381.     $(CCCF) -I. -I$(srcdir) $(srcdir)/sjpegerr.c
  3382.  
  3383. jmemmgr.$(OBJ): $(JSRC)jmemmgr.c $(JDEP)
  3384.     $(CP_) $(JSRC)jmemmgr.c .
  3385.     $(CCCJ) jmemmgr.c
  3386.     $(RM_) jmemmgr.c
  3387.  
  3388. # Encoding (compression) code.
  3389.  
  3390. jpege.dev: jpege$(JVERSION).dev
  3391.     $(CP_) jpege$(JVERSION).dev jpege.dev
  3392.  
  3393. jpege5=jcapi.$(OBJ)
  3394. jpege6=jcapimin.$(OBJ) jcapistd.$(OBJ) jcinit.$(OBJ)
  3395.  
  3396. jpege_1=jccoefct.$(OBJ) jccolor.$(OBJ) jcdctmgr.$(OBJ) 
  3397. jpege_2=jchuff.$(OBJ) jcmainct.$(OBJ) jcmarker.$(OBJ) jcmaster.$(OBJ)
  3398. jpege_3=jcparam.$(OBJ) jcprepct.$(OBJ) jcsample.$(OBJ) jfdctint.$(OBJ)
  3399.  
  3400. jpege5.dev: $(JPEG_MAK) $(ECHOGS_XE) jpegc.dev $(jpege5) $(jpege_1) $(jpege_2) $(jpege_3)
  3401.     $(SETMOD) jpege5 $(jpege5)
  3402.     $(ADDMOD) jpege5 -include jpegc
  3403.     $(ADDMOD) jpege5 -obj $(jpege_1)
  3404.     $(ADDMOD) jpege5 -obj $(jpege_2)
  3405.     $(ADDMOD) jpege5 -obj $(jpege_3)
  3406.  
  3407. jpege6.dev: $(JPEG_MAK) $(ECHOGS_XE) jpegc.dev $(jpege6) $(jpege_1) $(jpege_2) $(jpege_3)
  3408.     $(SETMOD) jpege6 $(jpege6)
  3409.     $(ADDMOD) jpege6 -include jpegc
  3410.     $(ADDMOD) jpege6 -obj $(jpege_1)
  3411.     $(ADDMOD) jpege6 -obj $(jpege_2)
  3412.     $(ADDMOD) jpege6 -obj $(jpege_3)
  3413.  
  3414. # jcapi.c is v5* only
  3415. jcapi.$(OBJ): $(JSRC)jcapi.c $(JDEP)
  3416.     $(CP_) $(JSRC)jcapi.c .
  3417.     $(CCCJ) jcapi.c
  3418.     $(RM_) jcapi.c
  3419.   
  3420. # jcapimin.c is new in v6
  3421. jcapimin.$(OBJ): $(JSRC)jcapimin.c $(JDEP)
  3422.     $(CP_) $(JSRC)jcapimin.c .
  3423.     $(CCCJ) jcapimin.c
  3424.     $(RM_) jcapimin.c
  3425.  
  3426. # jcapistd.c is new in v6
  3427. jcapistd.$(OBJ): $(JSRC)jcapistd.c $(JDEP)
  3428.     $(CP_) $(JSRC)jcapistd.c .
  3429.     $(CCCJ) jcapistd.c
  3430.     $(RM_) jcapistd.c
  3431.  
  3432. # jcinit.c is new in v6
  3433. jcinit.$(OBJ): $(JSRC)jcinit.c $(JDEP)
  3434.     $(CP_) $(JSRC)jcinit.c .
  3435.     $(CCCJ) jcinit.c
  3436.     $(RM_) jcinit.c
  3437.  
  3438. jccoefct.$(OBJ): $(JSRC)jccoefct.c $(JDEP)
  3439.     $(CP_) $(JSRC)jccoefct.c .
  3440.     $(CCCJ) jccoefct.c
  3441.     $(RM_) jccoefct.c
  3442.  
  3443. jccolor.$(OBJ): $(JSRC)jccolor.c $(JDEP)
  3444.     $(CP_) $(JSRC)jccolor.c .
  3445.     $(CCCJ) jccolor.c
  3446.     $(RM_) jccolor.c
  3447.  
  3448. jcdctmgr.$(OBJ): $(JSRC)jcdctmgr.c $(JDEP)
  3449.     $(CP_) $(JSRC)jcdctmgr.c .
  3450.     $(CCCJ) jcdctmgr.c
  3451.     $(RM_) jcdctmgr.c
  3452.  
  3453. jchuff.$(OBJ): $(JSRC)jchuff.c $(JDEP)
  3454.     $(CP_) $(JSRC)jchuff.c .
  3455.     $(CCCJ) jchuff.c
  3456.     $(RM_) jchuff.c
  3457.  
  3458. jcmainct.$(OBJ): $(JSRC)jcmainct.c $(JDEP)
  3459.     $(CP_) $(JSRC)jcmainct.c .
  3460.     $(CCCJ) jcmainct.c
  3461.     $(RM_) jcmainct.c
  3462.  
  3463. jcmarker.$(OBJ): $(JSRC)jcmarker.c $(JDEP)
  3464.     $(CP_) $(JSRC)jcmarker.c .
  3465.     $(CCCJ) jcmarker.c
  3466.     $(RM_) jcmarker.c
  3467.  
  3468. jcmaster.$(OBJ): $(JSRC)jcmaster.c $(JDEP)
  3469.     $(CP_) $(JSRC)jcmaster.c .
  3470.     $(CCCJ) jcmaster.c
  3471.     $(RM_) jcmaster.c
  3472.  
  3473. jcparam.$(OBJ): $(JSRC)jcparam.c $(JDEP)
  3474.     $(CP_) $(JSRC)jcparam.c .
  3475.     $(CCCJ) jcparam.c
  3476.     $(RM_) jcparam.c
  3477.  
  3478. jcprepct.$(OBJ): $(JSRC)jcprepct.c $(JDEP)
  3479.     $(CP_) $(JSRC)jcprepct.c .
  3480.     $(CCCJ) jcprepct.c
  3481.     $(RM_) jcprepct.c
  3482.  
  3483. jcsample.$(OBJ): $(JSRC)jcsample.c $(JDEP)
  3484.     $(CP_) $(JSRC)jcsample.c .
  3485.     $(CCCJ) jcsample.c
  3486.     $(RM_) jcsample.c
  3487.  
  3488. jfdctint.$(OBJ): $(JSRC)jfdctint.c $(JDEP)
  3489.     $(CP_) $(JSRC)jfdctint.c .
  3490.     $(CCCJ) jfdctint.c
  3491.     $(RM_) jfdctint.c
  3492.  
  3493. # Decompression code
  3494.  
  3495. jpegd.dev: jpegd$(JVERSION).dev
  3496.     $(CP_) jpegd$(JVERSION).dev jpegd.dev
  3497.  
  3498. jpegd5=jdapi.$(OBJ)
  3499. jpegd6=jdapimin.$(OBJ) jdapistd.$(OBJ) jdinput.$(OBJ) jdphuff.$(OBJ)
  3500.  
  3501. jpegd_1=jdcoefct.$(OBJ) jdcolor.$(OBJ)
  3502. jpegd_2=jddctmgr.$(OBJ) jdhuff.$(OBJ) jdmainct.$(OBJ) jdmarker.$(OBJ)
  3503. jpegd_3=jdmaster.$(OBJ) jdpostct.$(OBJ) jdsample.$(OBJ) jidctint.$(OBJ)
  3504.  
  3505. jpegd5.dev: $(JPEG_MAK) $(ECHOGS_XE) jpegc.dev $(jpegd5) $(jpegd_1) $(jpegd_2) $(jpegd_3)
  3506.     $(SETMOD) jpegd5 $(jpegd5)
  3507.     $(ADDMOD) jpegd5 -include jpegc
  3508.     $(ADDMOD) jpegd5 -obj $(jpegd_1)
  3509.     $(ADDMOD) jpegd5 -obj $(jpegd_2)
  3510.     $(ADDMOD) jpegd5 -obj $(jpegd_3)
  3511.  
  3512. jpegd6.dev: $(JPEG_MAK) $(ECHOGS_XE) jpegc.dev $(jpegd6) $(jpegd_1) $(jpegd_2) $(jpegd_3)
  3513.     $(SETMOD) jpegd6 $(jpegd6)
  3514.     $(ADDMOD) jpegd6 -include jpegc
  3515.     $(ADDMOD) jpegd6 -obj $(jpegd_1)
  3516.     $(ADDMOD) jpegd6 -obj $(jpegd_2)
  3517.     $(ADDMOD) jpegd6 -obj $(jpegd_3)
  3518.  
  3519. # jdapi.c is v5* only
  3520. jdapi.$(OBJ): $(JSRC)jdapi.c $(JDEP)
  3521.     $(CP_) $(JSRC)jdapi.c .
  3522.     $(CCCJ) jdapi.c
  3523.     $(RM_) jdapi.c
  3524.  
  3525. # jdapimin.c is new in v6
  3526. jdapimin.$(OBJ): $(JSRC)jdapimin.c $(JDEP)
  3527.     $(CP_) $(JSRC)jdapimin.c .
  3528.     $(CCCJ) jdapimin.c
  3529.     $(RM_) jdapimin.c
  3530.  
  3531. # jdapistd.c is new in v6
  3532. jdapistd.$(OBJ): $(JSRC)jdapistd.c $(JDEP)
  3533.     $(CP_) $(JSRC)jdapistd.c .
  3534.     $(CCCJ) jdapistd.c
  3535.     $(RM_) jdapistd.c
  3536.  
  3537. jdcoefct.$(OBJ): $(JSRC)jdcoefct.c $(JDEP)
  3538.     $(CP_) $(JSRC)jdcoefct.c .
  3539.     $(CCCJ) jdcoefct.c
  3540.     $(RM_) jdcoefct.c
  3541.  
  3542. jdcolor.$(OBJ): $(JSRC)jdcolor.c $(JDEP)
  3543.     $(CP_) $(JSRC)jdcolor.c .
  3544.     $(CCCJ) jdcolor.c
  3545.     $(RM_) jdcolor.c
  3546.  
  3547. jddctmgr.$(OBJ): $(JSRC)jddctmgr.c $(JDEP)
  3548.     $(CP_) $(JSRC)jddctmgr.c .
  3549.     $(CCCJ) jddctmgr.c
  3550.     $(RM_) jddctmgr.c
  3551.  
  3552. jdhuff.$(OBJ): $(JSRC)jdhuff.c $(JDEP)
  3553.     $(CP_) $(JSRC)jdhuff.c .
  3554.     $(CCCJ) jdhuff.c
  3555.     $(RM_) jdhuff.c
  3556.  
  3557. # jdinput.c is new in v6
  3558. jdinput.$(OBJ): $(JSRC)jdinput.c $(JDEP)
  3559.     $(CP_) $(JSRC)jdinput.c .
  3560.     $(CCCJ) jdinput.c
  3561.     $(RM_) jdinput.c
  3562.  
  3563. jdmainct.$(OBJ): $(JSRC)jdmainct.c $(JDEP)
  3564.     $(CP_) $(JSRC)jdmainct.c .
  3565.     $(CCCJ) jdmainct.c
  3566.     $(RM_) jdmainct.c
  3567.  
  3568. jdmarker.$(OBJ): $(JSRC)jdmarker.c $(JDEP)
  3569.     $(CP_) $(JSRC)jdmarker.c .
  3570.     $(CCCJ) jdmarker.c
  3571.     $(RM_) jdmarker.c
  3572.  
  3573. jdmaster.$(OBJ): $(JSRC)jdmaster.c $(JDEP)
  3574.     $(CP_) $(JSRC)jdmaster.c .
  3575.     $(CCCJ) jdmaster.c
  3576.     $(RM_) jdmaster.c
  3577.  
  3578. # jdphuff.c is new in v6
  3579. jdphuff.$(OBJ): $(JSRC)jdphuff.c $(JDEP)
  3580.     $(CP_) $(JSRC)jdphuff.c .
  3581.     $(CCCJ) jdphuff.c
  3582.     $(RM_) jdphuff.c
  3583.  
  3584. jdpostct.$(OBJ): $(JSRC)jdpostct.c $(JDEP)
  3585.     $(CP_) $(JSRC)jdpostct.c .
  3586.     $(CCCJ) jdpostct.c
  3587.     $(RM_) jdpostct.c
  3588.  
  3589. jdsample.$(OBJ): $(JSRC)jdsample.c $(JDEP)
  3590.     $(CP_) $(JSRC)jdsample.c .
  3591.     $(CCCJ) jdsample.c
  3592.     $(RM_) jdsample.c
  3593.  
  3594. jidctint.$(OBJ): $(JSRC)jidctint.c $(JDEP)
  3595.     $(CP_) $(JSRC)jidctint.c .
  3596.     $(CCCJ) jidctint.c
  3597.     $(RM_) jidctint.c
  3598. #    Copyright (C) 1995, 1996, 1997 Aladdin Enterprises.  All rights reserved.
  3599. # This file is part of Aladdin Ghostscript.
  3600. # Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND.  No author
  3601. # or distributor accepts any responsibility for the consequences of using it,
  3602. # or for whether it serves any particular purpose or works at all, unless he
  3603. # or she says so in writing.  Refer to the Aladdin Ghostscript Free Public
  3604. # License (the "License") for full details.
  3605. # Every copy of Aladdin Ghostscript must include a copy of the License,
  3606. # normally in a plain ASCII text file named PUBLIC.  The License grants you
  3607. # the right to copy, modify and redistribute Aladdin Ghostscript, but only
  3608. # under certain conditions described in the License.  Among other things, the
  3609. # License requires that the copyright notice and this notice be preserved on
  3610. # all copies.
  3611.  
  3612. # makefile for PNG (Portable Network Graphics) code.
  3613.  
  3614. # This partial makefile compiles the png library for use in the Ghostscript
  3615. # PNG drivers.  You can get the source code for this library from:
  3616. #   ftp://swrinde.nde.swri.edu/pub/png/src/
  3617. # The makefile is known to work with the following library versions:
  3618. # 0.89, 0.90, 0.95, and 0.96.  NOTE: the archive for libpng 0.95 may
  3619. # be inconsistent: if you have compilation problems, use an older version.
  3620. # Please see Ghostscript's `make.txt' file for instructions about how to
  3621. # unpack these archives.
  3622. #
  3623. # The specification for the PNG file format is available from:
  3624. #   http://www.group42.com/png.htm
  3625. #   http://www.w3.org/pub/WWW/TR/WD-png
  3626.  
  3627. # Define the name of this makefile.
  3628. LIBPNG_MAK=libpng.mak
  3629.  
  3630. # PSRCDIR is defined in the platform-specific makefile, not here,
  3631. # as the directory where the PNG library sources are stored.
  3632. #PSRCDIR=libpng
  3633. # PVERSION is defined in the platform-specific makefile, not here,
  3634. # as the libpng version number ("89", "90", "95", or "96").
  3635. #PVERSION=96
  3636.  
  3637. PSRC=$(PSRCDIR)$(D)
  3638. # CCCP is defined in gs.mak.
  3639. #CCCP=$(CCC) -I$(PSRCDIR) -I$(ZSRCDIR)
  3640.  
  3641. # We keep all of the PNG code in a separate directory so as not to
  3642. # inadvertently mix it up with Aladdin Enterprises' own code.
  3643. PDEP=$(AK)
  3644.  
  3645. png_1=png.$(OBJ) pngmem.$(OBJ) pngerror.$(OBJ)
  3646. png_2=pngtrans.$(OBJ) pngwrite.$(OBJ) pngwtran.$(OBJ) pngwutil.$(OBJ)
  3647.  
  3648. # libpng modules
  3649.  
  3650. png.$(OBJ): $(PSRC)png.c $(PDEP)
  3651.     $(CCCP) $(PSRC)png.c
  3652.  
  3653. # version 0.89 uses pngwio.c
  3654. pngwio.$(OBJ): $(PSRC)pngwio.c $(PDEP)
  3655.     $(CCCP) $(PSRC)pngwio.c
  3656.  
  3657. pngmem.$(OBJ): $(PSRC)pngmem.c $(PDEP)
  3658.     $(CCCP) $(PSRC)pngmem.c
  3659.  
  3660. pngerror.$(OBJ): $(PSRC)pngerror.c $(PDEP)
  3661.     $(CCCP) $(PSRC)pngerror.c
  3662.  
  3663. pngtrans.$(OBJ): $(PSRC)pngtrans.c $(PDEP)
  3664.     $(CCCP) $(PSRC)pngtrans.c
  3665.  
  3666. pngwrite.$(OBJ): $(PSRC)pngwrite.c $(PDEP)
  3667.     $(CCCP) $(PSRC)pngwrite.c
  3668.  
  3669. pngwtran.$(OBJ): $(PSRC)pngwtran.c $(PDEP)
  3670.     $(CCCP) $(PSRC)pngwtran.c
  3671.  
  3672. pngwutil.$(OBJ): $(PSRC)pngwutil.c $(PDEP)
  3673.     $(CCCP) $(PSRC)pngwutil.c
  3674.  
  3675. # Define the version of libpng.dev that we are actually using.
  3676. libpng.dev: $(MAKEFILE) libpng_$(SHARE_LIBPNG).dev
  3677.     $(CP_) libpng_$(SHARE_LIBPNG).dev libpng.dev
  3678.  
  3679. # Define the shared version of libpng.
  3680. # Note that it requires libz, which must be searched *after* libpng.
  3681. libpng_1.dev: $(MAKEFILE) $(LIBPNG_MAK) $(ECHOGS_XE) zlibe.dev
  3682.     $(SETMOD) libpng_1 -lib $(LIBPNG_NAME)
  3683.     $(ADDMOD) libpng_1 -include zlibe
  3684.  
  3685. # Define the non-shared version of libpng.
  3686. libpng_0.dev: $(LIBPNG_MAK) $(ECHOGS_XE) $(png_1) $(png_2)\
  3687.  zlibe.dev libpng$(PVERSION).dev
  3688.     $(SETMOD) libpng_0 $(png_1)
  3689.     $(ADDMOD) libpng_0 $(png_2)
  3690.     $(ADDMOD) libpng_0 -include zlibe libpng$(PVERSION)
  3691.  
  3692. libpng89.dev: $(LIBPNG_MAK) $(ECHOGS_XE) pngwio.$(OBJ)
  3693.     $(SETMOD) libpng89 pngwio.$(OBJ)
  3694.  
  3695. libpng90.dev: $(LIBPNG_MAK) $(ECHOGS_XE) pngwio.$(OBJ) crc32.dev
  3696.     $(SETMOD) libpng90 pngwio.$(OBJ) -include crc32
  3697.  
  3698. libpng95.dev: $(LIBPNG_MAK) $(ECHOGS_XE) pngwio.$(OBJ) crc32.dev
  3699.     $(SETMOD) libpng95 pngwio.$(OBJ) -include crc32
  3700.  
  3701. libpng96.dev: $(LIBPNG_MAK) $(ECHOGS_XE) pngwio.$(OBJ) crc32.dev
  3702.     $(SETMOD) libpng96 pngwio.$(OBJ) -include crc32
  3703. #    Copyright (C) 1995, 1996, 1997 Aladdin Enterprises.  All rights reserved.
  3704. # This file is part of Aladdin Ghostscript.
  3705. # Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND.  No author
  3706. # or distributor accepts any responsibility for the consequences of using it,
  3707. # or for whether it serves any particular purpose or works at all, unless he
  3708. # or she says so in writing.  Refer to the Aladdin Ghostscript Free Public
  3709. # License (the "License") for full details.
  3710. # Every copy of Aladdin Ghostscript must include a copy of the License,
  3711. # normally in a plain ASCII text file named PUBLIC.  The License grants you
  3712. # the right to copy, modify and redistribute Aladdin Ghostscript, but only
  3713. # under certain conditions described in the License.  Among other things, the
  3714. # License requires that the copyright notice and this notice be preserved on
  3715. # all copies.
  3716.  
  3717. # makefile for zlib library code.
  3718.  
  3719. # This partial makefile compiles the zlib library for use in Ghostscript.
  3720. # You can get the source code for this library from:
  3721. #   ftp://ftp.uu.net/pub/archiving/zip/zlib/zlib104.zip   (zlib 1.0.4)
  3722. #        or zlib-1.0.4.tar.gz
  3723. # Please see Ghostscript's `make.txt' file for instructions about how to
  3724. # unpack these archives.
  3725.  
  3726. # Define the name of this makefile.
  3727. ZLIB_MAK=zlib.mak
  3728.  
  3729. # ZSRCDIR is defined in the platform-specific makefile, not here,
  3730. # as the directory where the zlib sources are stored.
  3731. #ZSRCDIR=zlib
  3732. ZSRC=$(ZSRCDIR)$(D)
  3733. # We would like to define
  3734. #CCCZ=$(CCC) -I$(ZSRCDIR) -Dverbose=-1
  3735. # but the Watcom C compiler has strange undocumented restrictions on what can
  3736. # follow a -D=, and it doesn't allow negative numbers.  Instead, we define
  3737. # (in gs.mak):
  3738. #CCCZ=$(CCC) -I. -I$(ZSRCDIR)
  3739. # and handle the definition of verbose in a different, more awkward way.
  3740.  
  3741. # We keep all of the zlib code in a separate directory so as not to
  3742. # inadvertently mix it up with Aladdin Enterprises' own code.
  3743. ZDEP=$(AK)
  3744.  
  3745. # Contrary to what some portability bigots assert as fact, C compilers are
  3746. # not consistent about where they start searching for #included files:
  3747. # some always start by looking in the same directory as the .c file being
  3748. # compiled, before using the search path specified with -I on the command
  3749. # line, while others do not do this.  For this reason, we must explicitly
  3750. # copy and then delete all the .c files, because they need to obtain our
  3751. # modified version of zutil.h.  We must also copy all header files that
  3752. # reference zutil.h directly or indirectly.
  3753.  
  3754. # Code common to compression and decompression.
  3755.  
  3756. zlibc_=zutil.$(OBJ)
  3757. zlibc.dev: $(ZLIB_MAK) $(ECHOGS_XE) $(zlibc_)
  3758.     $(SETMOD) zlibc $(zlibc_)
  3759.  
  3760. zutil.h: $(ZSRC)zutil.h $(ECHOGS_XE)
  3761.     $(EXP)echogs -w zutil.h -x 23 define verbose -s - -1
  3762.     $(EXP)echogs -a zutil.h -+R $(ZSRC)zutil.h
  3763.  
  3764. zutil.$(OBJ): $(ZSRC)zutil.c $(ZDEP) zutil.h
  3765.     $(CP_) $(ZSRC)zutil.c .
  3766.     $(CCCZ) zutil.c
  3767.     $(RM_) zutil.c
  3768.  
  3769. # Encoding (compression) code.
  3770.  
  3771. deflate.h: $(ZSRC)deflate.h zutil.h
  3772.     $(CP_) $(ZSRC)deflate.h .
  3773.  
  3774. zlibe.dev: $(MAKEFILE) zlibe_$(SHARE_ZLIB).dev
  3775.     $(CP_) zlibe_$(SHARE_ZLIB).dev zlibe.dev
  3776.  
  3777. zlibe_1.dev: $(MAKEFILE) $(ZLIB_MAK) $(ECHOGS_XE)
  3778.     $(SETMOD) zlibe_1 -lib $(ZLIB_NAME)
  3779.  
  3780. zlibe_=adler32.$(OBJ) deflate.$(OBJ) trees.$(OBJ)
  3781. zlibe_0.dev: $(ZLIB_MAK) $(ECHOGS_XE) zlibc.dev $(zlibe_)
  3782.     $(SETMOD) zlibe_0 $(zlibe_)
  3783.     $(ADDMOD) zlibe_0 -include zlibc
  3784.  
  3785. adler32.$(OBJ): $(ZSRC)adler32.c $(ZDEP)
  3786.     $(CP_) $(ZSRC)adler32.c .
  3787.     $(CCCZ) adler32.c
  3788.     $(RM_) adler32.c
  3789.  
  3790. deflate.$(OBJ): $(ZSRC)deflate.c $(ZDEP) deflate.h
  3791.     $(CP_) $(ZSRC)deflate.c .
  3792.     $(CCCZ) deflate.c
  3793.     $(RM_) deflate.c
  3794.  
  3795. trees.$(OBJ): $(ZSRC)trees.c $(ZDEP) deflate.h
  3796.     $(CP_) $(ZSRC)trees.c .
  3797.     $(CCCZ) trees.c
  3798.     $(RM_) trees.c
  3799.  
  3800. # The zlib filters per se don't need crc32, but libpng versions starting
  3801. # with 0.90 do.
  3802.  
  3803. crc32.dev: $(MAKEFILE) crc32_$(SHARE_ZLIB).dev
  3804.     $(CP_) crc32_$(SHARE_ZLIB).dev crc32.dev
  3805.  
  3806. crc32_1.dev: $(MAKEFILE) $(ZLIB_MAK) $(ECHOGS_XE)
  3807.     $(SETMOD) crc32_1 -lib $(ZLIB_NAME)
  3808.  
  3809. crc32_0.dev: $(ZLIB_MAK) $(ECHOGS_XE) crc32.$(OBJ)
  3810.     $(SETMOD) crc32_0 crc32.$(OBJ)
  3811.  
  3812. crc32.$(OBJ): $(ZSRC)crc32.c $(ZDEP) deflate.h
  3813.     $(CP_) $(ZSRC)crc32.c .
  3814.     $(CCCZ) crc32.c
  3815.     $(RM_) crc32.c
  3816.  
  3817. # Decoding (decompression) code.
  3818.  
  3819. zlibd.dev: $(MAKEFILE) zlibd_$(SHARE_ZLIB).dev
  3820.     $(CP_) zlibd_$(SHARE_ZLIB).dev zlibd.dev
  3821.  
  3822. zlibd_1.dev: $(MAKEFILE) $(ZLIB_MAK) $(ECHOGS_XE)
  3823.     $(SETMOD) zlibd_1 -lib $(ZLIB_NAME)
  3824.  
  3825. zlibd1_=infblock.$(OBJ) infcodes.$(OBJ) inffast.$(OBJ)
  3826. zlibd2_=inflate.$(OBJ) inftrees.$(OBJ) infutil.$(OBJ)
  3827. zlibd_ = $(zlibd1_) $(zlibd2_)
  3828. zlibd_0.dev: $(ZLIB_MAK) $(ECHOGS_XE) zlibc.dev $(zlibd_)
  3829.     $(SETMOD) zlibd_0 $(zlibd1_)
  3830.     $(ADDMOD) zlibd_0 -obj $(zlibd2_)
  3831.     $(ADDMOD) zlibd_0 -include zlibc
  3832.  
  3833. infblock.$(OBJ): $(ZSRC)infblock.c $(ZDEP) zutil.h
  3834.     $(CP_) $(ZSRC)infblock.c .
  3835.     $(CCCZ) infblock.c
  3836.     $(RM_) infblock.c
  3837.  
  3838. infcodes.$(OBJ): $(ZSRC)infcodes.c $(ZDEP) zutil.h
  3839.     $(CP_) $(ZSRC)infcodes.c .
  3840.     $(CCCZ) infcodes.c
  3841.     $(RM_) infcodes.c
  3842.  
  3843. inffast.$(OBJ): $(ZSRC)inffast.c $(ZDEP) zutil.h
  3844.     $(CP_) $(ZSRC)inffast.c .
  3845.     $(CCCZ) inffast.c
  3846.     $(RM_) inffast.c
  3847.  
  3848. inflate.$(OBJ): $(ZSRC)inflate.c $(ZDEP) zutil.h
  3849.     $(CP_) $(ZSRC)inflate.c .
  3850.     $(CCCZ) inflate.c
  3851.     $(RM_) inflate.c
  3852.  
  3853. inftrees.$(OBJ): $(ZSRC)inftrees.c $(ZDEP) zutil.h
  3854.     $(CP_) $(ZSRC)inftrees.c .
  3855.     $(CCCZ) inftrees.c
  3856.     $(RM_) inftrees.c
  3857.  
  3858. infutil.$(OBJ): $(ZSRC)infutil.c $(ZDEP) zutil.h
  3859.     $(CP_) $(ZSRC)infutil.c .
  3860.     $(CCCZ) infutil.c
  3861.     $(RM_) infutil.c
  3862. #    Copyright (C) 1989, 1996, 1997 Aladdin Enterprises.  All rights reserved.
  3863. # This file is part of Aladdin Ghostscript.
  3864. # Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND.  No author
  3865. # or distributor accepts any responsibility for the consequences of using it,
  3866. # or for whether it serves any particular purpose or works at all, unless he
  3867. # or she says so in writing.  Refer to the Aladdin Ghostscript Free Public
  3868. # License (the "License") for full details.
  3869. # Every copy of Aladdin Ghostscript must include a copy of the License,
  3870. # normally in a plain ASCII text file named PUBLIC.  The License grants you
  3871. # the right to copy, modify and redistribute Aladdin Ghostscript, but only
  3872. # under certain conditions described in the License.  Among other things, the
  3873. # License requires that the copyright notice and this notice be preserved on
  3874. # all copies.
  3875.  
  3876. # makefile for device drivers.
  3877.  
  3878. # Define the name of this makefile.
  3879. DEVS_MAK=devs.mak
  3880.  
  3881. ###### --------------------------- Catalog -------------------------- ######
  3882.  
  3883. # It is possible to build configurations with an arbitrary collection of
  3884. # device drivers, although some drivers are supported only on a subset
  3885. # of the target platforms.  The currently available drivers are:
  3886.  
  3887. # MS-DOS displays (note: not usable with Desqview/X):
  3888. #   MS-DOS EGA and VGA:
  3889. #    ega    EGA (640x350, 16-color)
  3890. #    vga    VGA (640x480, 16-color)
  3891. #   MS-DOS SuperVGA:
  3892. # *    ali    SuperVGA using Avance Logic Inc. chipset, 256-color modes
  3893. # *    atiw    ATI Wonder SuperVGA, 256-color modes
  3894. # *    s3vga    SuperVGA using S3 86C911 chip (e.g., Diamond Stealth board)
  3895. #    svga16    Generic SuperVGA in 800x600, 16-color mode
  3896. # *    tseng    SuperVGA using Tseng Labs ET3000/4000 chips, 256-color modes
  3897. # *    tvga    SuperVGA using Trident chipset, 256-color modes
  3898. #   ****** NOTE: The vesa device does not work with the Watcom (32-bit MS-DOS)
  3899. #   ****** compiler or executable.
  3900. #    vesa    SuperVGA with VESA standard API driver
  3901. #   MS-DOS other:
  3902. #    bgi    Borland Graphics Interface (CGA)  [MS-DOS only]
  3903. # *    herc    Hercules Graphics display   [MS-DOS only]
  3904. # *    pe    Private Eye display
  3905. # Other displays:
  3906. #   MS Windows:
  3907. #    mswindll  Microsoft Windows 3.1 DLL  [MS Windows only]
  3908. #    mswinprn  Microsoft Windows 3.0, 3.1 DDB printer  [MS Windows only]
  3909. #    mswinpr2  Microsoft Windows 3.0, 3.1 DIB printer  [MS Windows only]
  3910. #   OS/2:
  3911. # *    os2pm    OS/2 Presentation Manager   [OS/2 only]
  3912. # *    os2dll    OS/2 DLL bitmap             [OS/2 only]
  3913. # *    os2prn    OS/2 printer                [OS/2 only]
  3914. #   Unix and VMS:
  3915. #   ****** NOTE: For direct frame buffer addressing under SCO Unix or Xenix,
  3916. #   ****** edit the definition of EGAVGA below.
  3917. # *    att3b1    AT&T 3b1/Unixpc monochrome display   [3b1 only]
  3918. # *    lvga256  Linux vgalib, 256-color VGA modes  [Linux only]
  3919. # *    sonyfb    Sony Microsystems monochrome display   [Sony only]
  3920. # *    sunview  SunView window system   [SunOS only]
  3921. # +    vgalib    Linux PC with VGALIB   [Linux only]
  3922. #    x11    X Windows version 11, release >=4   [Unix and VMS only]
  3923. #    x11alpha  X Windows masquerading as a device with alpha capability
  3924. #    x11cmyk  X Windows masquerading as a 1-bit-per-plane CMYK device
  3925. #    x11gray2  X Windows as a 2-bit gray-scale device
  3926. #    x11mono  X Windows masquerading as a black-and-white device
  3927. #   Platform-independent:
  3928. # *    sxlcrt    CRT sixels, e.g. for VT240-like terminals
  3929. # Printers:
  3930. # *    ap3250    Epson AP3250 printer
  3931. # *    appledmp  Apple Dot Matrix Printer (should also work with Imagewriter)
  3932. #    bj10e    Canon BubbleJet BJ10e
  3933. # *    bj200    Canon BubbleJet BJ200
  3934. # *    bjc600   Canon Color BubbleJet BJC-600, BJC-4000 and BJC-70
  3935. #               also good for Apple printers like the StyleWriter 2x00
  3936. # *    bjc800   Canon Color BubbleJet BJC-800
  3937. # *     ccr     CalComp Raster format
  3938. # *    cdeskjet  H-P DeskJet 500C with 1 bit/pixel color
  3939. # *    cdjcolor  H-P DeskJet 500C with 24 bit/pixel color and
  3940. #        high-quality color (Floyd-Steinberg) dithering;
  3941. #        also good for DeskJet 540C and Citizen Projet IIc (-r200x300)
  3942. # *    cdjmono  H-P DeskJet 500C printing black only;
  3943. #        also good for DeskJet 510, 520, and 540C (black only)
  3944. # *    cdj500    H-P DeskJet 500C (same as cdjcolor)
  3945. # *    cdj550    H-P DeskJet 550C/560C/660C/660Cse
  3946. # *    cp50    Mitsubishi CP50 color printer
  3947. # *    declj250  alternate DEC LJ250 driver
  3948. # +    deskjet  H-P DeskJet and DeskJet Plus
  3949. #    djet500  H-P DeskJet 500; use -r600 for DJ 600 series
  3950. # *    djet500c  H-P DeskJet 500C alternate driver
  3951. #        (does not work on 550C or 560C)
  3952. # *    dnj650c  H-P DesignJet 650C
  3953. #    epson    Epson-compatible dot matrix printers (9- or 24-pin)
  3954. # *    eps9mid  Epson-compatible 9-pin, interleaved lines
  3955. #        (intermediate resolution)
  3956. # *    eps9high  Epson-compatible 9-pin, interleaved lines
  3957. #        (triple resolution)
  3958. # *    epsonc    Epson LQ-2550 and Fujitsu 3400/2400/1200 color printers
  3959. # *    ibmpro  IBM 9-pin Proprinter
  3960. # *    imagen    Imagen ImPress printers
  3961. # *    iwhi    Apple Imagewriter in high-resolution mode
  3962. # *    iwlo    Apple Imagewriter in low-resolution mode
  3963. # *    iwlq    Apple Imagewriter LQ in 320 x 216 dpi mode
  3964. # *    jetp3852  IBM Jetprinter ink-jet color printer (Model #3852)
  3965. # +    laserjet  H-P LaserJet
  3966. # *    la50    DEC LA50 printer
  3967. # *    la70    DEC LA70 printer
  3968. # *    la70t    DEC LA70 printer with low-resolution text enhancement
  3969. # *    la75    DEC LA75 printer
  3970. # *    la75plus DEC LA75plus printer
  3971. # *    lbp8    Canon LBP-8II laser printer
  3972. # *    lips3    Canon LIPS III laser printer in English (CaPSL) mode
  3973. # *    ln03    DEC LN03 printer
  3974. # *    lj250    DEC LJ250 Companion color printer
  3975. # +    ljet2p    H-P LaserJet IId/IIp/III* with TIFF compression
  3976. # +    ljet3    H-P LaserJet III* with Delta Row compression
  3977. # +    ljet3d    H-P LaserJet IIID with duplex capability
  3978. # +    ljet4    H-P LaserJet 4 (defaults to 600 dpi)
  3979. # +    lj4dith  H-P LaserJet 4 with Floyd-Steinberg dithering
  3980. # +    ljetplus  H-P LaserJet Plus
  3981. #    lj5mono  H-P LaserJet 5 & 6 family (PCL XL), bitmap:
  3982. #        see below for restrictions & advice
  3983. #    lj5gray  H-P LaserJet 5 & 6 family, gray-scale bitmap;
  3984. #        see below for restrictions & advice
  3985. # *    lp2563    H-P 2563B line printer
  3986. # *    lp8000    Epson LP-8000 laser printer
  3987. # *     lq850   Epson LQ850 printer at 360 x 360 DPI resolution;
  3988. #               also good for Canon BJ300 with LQ850 emulation
  3989. # *    m8510    C.Itoh M8510 printer
  3990. # *    necp6    NEC P6/P6+/P60 printers at 360 x 360 DPI resolution
  3991. # *    nwp533  Sony Microsystems NWP533 laser printer   [Sony only]
  3992. # *    oce9050  OCE 9050 printer
  3993. # *    oki182    Okidata MicroLine 182
  3994. # *    okiibm    Okidata MicroLine IBM-compatible printers
  3995. # *    paintjet  alternate H-P PaintJet color printer
  3996. # *    pj    H-P PaintJet XL driver 
  3997. # *    pjetxl    alternate H-P PaintJet XL driver
  3998. # *    pjxl    H-P PaintJet XL color printer
  3999. # *    pjxl300  H-P PaintJet XL300 color printer;
  4000. #        also good for PaintJet 1200C
  4001. #    (pxlmono) H-P black-and-white PCL XL printers (LaserJet 5 and 6 family)
  4002. #    (pxlcolor) H-P color PCL XL printers (none available yet)
  4003. # *    r4081    Ricoh 4081 laser printer
  4004. # *    sj48    StarJet 48 inkjet printer
  4005. # *    sparc    SPARCprinter
  4006. # *    st800    Epson Stylus 800 printer
  4007. # *    stcolor    Epson Stylus Color
  4008. # *    t4693d2  Tektronix 4693d color printer, 2 bits per R/G/B component
  4009. # *    t4693d4  Tektronix 4693d color printer, 4 bits per R/G/B component
  4010. # *    t4693d8  Tektronix 4693d color printer, 8 bits per R/G/B component
  4011. # *    tek4696  Tektronix 4695/4696 inkjet plotter
  4012. # *    uniprint  Unified printer driver -- Configurable Color ESC/P-,
  4013. #        ESC/P2-, HP-RTL/PCL mono/color driver
  4014. # *    xes    Xerox XES printers (2700, 3700, 4045, etc.)
  4015. # Fax systems:
  4016. # *    dfaxhigh  DigiBoard, Inc.'s DigiFAX software format (high resolution)
  4017. # *    dfaxlow  DigiFAX low (normal) resolution
  4018. # Fax file format:
  4019. #   ****** NOTE: all of these drivers adjust the page size to match
  4020. #   ****** one of the three CCITT standard sizes (U.S. letter with A4 width,
  4021. #   ****** A4, or B4).
  4022. #    faxg3    Group 3 fax, with EOLs but no header or EOD
  4023. #    faxg32d  Group 3 2-D fax, with EOLs but no header or EOD
  4024. #    faxg4    Group 4 fax, with EOLs but no header or EOD
  4025. #    tiffcrle  TIFF "CCITT RLE 1-dim" (= Group 3 fax with no EOLs)
  4026. #    tiffg3    TIFF Group 3 fax (with EOLs)
  4027. #    tiffg32d  TIFF Group 3 2-D fax
  4028. #    tiffg4    TIFF Group 4 fax
  4029. # High-level file formats:
  4030. #    epswrite  EPS output (like PostScript Distillery)
  4031. #    pdfwrite  PDF output (like Adobe Acrobat Distiller)
  4032. #    pswrite  PostScript output (like PostScript Distillery)
  4033. #    pxlmono  Black-and-white PCL XL
  4034. #    pxlcolor  Color PCL XL
  4035. # Other raster file formats and devices:
  4036. #    bit    Plain bits, monochrome
  4037. #    bitrgb    Plain bits, RGB
  4038. #    bitcmyk  Plain bits, CMYK
  4039. #    bmpmono    Monochrome MS Windows .BMP file format
  4040. #    bmp16    4-bit (EGA/VGA) .BMP file format
  4041. #    bmp256    8-bit (256-color) .BMP file format
  4042. #    bmp16m    24-bit .BMP file format
  4043. #    cgmmono  Monochrome (black-and-white) CGM -- LOW LEVEL OUTPUT ONLY
  4044. #    cgm8    8-bit (256-color) CGM -- DITTO
  4045. #    cgm24    24-bit color CGM -- DITTO
  4046. # *    cif    CIF file format for VLSI
  4047. #    jpeg    JPEG format, RGB output
  4048. #    jpeggray  JPEG format, gray output
  4049. #    miff24    ImageMagick MIFF format, 24-bit direct color, RLE compressed
  4050. # *    mgrmono  1-bit monochrome MGR devices
  4051. # *    mgrgray2  2-bit gray scale MGR devices
  4052. # *    mgrgray4  4-bit gray scale MGR devices
  4053. # *    mgrgray8  8-bit gray scale MGR devices
  4054. # *    mgr4    4-bit (VGA) color MGR devices
  4055. # *    mgr8    8-bit color MGR devices
  4056. #    pcxmono    PCX file format, monochrome (1-bit black and white)
  4057. #    pcxgray    PCX file format, 8-bit gray scale
  4058. #    pcx16    PCX file format, 4-bit planar (EGA/VGA) color
  4059. #    pcx256    PCX file format, 8-bit chunky color
  4060. #    pcx24b    PCX file format, 24-bit color (3 8-bit planes)
  4061. #    pcxcmyk PCX file format, 4-bit chunky CMYK color
  4062. #    pbm    Portable Bitmap (plain format)
  4063. #    pbmraw    Portable Bitmap (raw format)
  4064. #    pgm    Portable Graymap (plain format)
  4065. #    pgmraw    Portable Graymap (raw format)
  4066. #    pgnm    Portable Graymap (plain format), optimizing to PBM if possible
  4067. #    pgnmraw    Portable Graymap (raw format), optimizing to PBM if possible
  4068. #    pnm    Portable Pixmap (plain format) (RGB), optimizing to PGM or PBM
  4069. #         if possible
  4070. #    pnmraw    Portable Pixmap (raw format) (RGB), optimizing to PGM or PBM
  4071. #         if possible
  4072. #    ppm    Portable Pixmap (plain format) (RGB)
  4073. #    ppmraw    Portable Pixmap (raw format) (RGB)
  4074. #    pkm    Portable inKmap (plain format) (4-bit CMYK => RGB)
  4075. #    pkmraw    Portable inKmap (raw format) (4-bit CMYK => RGB)
  4076. #    pngmono    Monochrome Portable Network Graphics (PNG)
  4077. #    pnggray    8-bit gray Portable Network Graphics (PNG)
  4078. #    png16    4-bit color Portable Network Graphics (PNG)
  4079. #    png256    8-bit color Portable Network Graphics (PNG)
  4080. #    png16m    24-bit color Portable Network Graphics (PNG)
  4081. #    psmono    PostScript (Level 1) monochrome image
  4082. #    psgray    PostScript (Level 1) 8-bit gray image
  4083. #    sgirgb    SGI RGB pixmap format
  4084. #    tiff12nc  TIFF 12-bit RGB, no compression
  4085. #    tiff24nc  TIFF 24-bit RGB, no compression (NeXT standard format)
  4086. #    tifflzw  TIFF LZW (tag = 5) (monochrome)
  4087. #    tiffpack  TIFF PackBits (tag = 32773) (monochrome)
  4088.  
  4089. # User-contributed drivers marked with * require hardware or software
  4090. # that is not available to Aladdin Enterprises.  Please contact the
  4091. # original contributors, not Aladdin Enterprises, if you have questions.
  4092. # Contact information appears in the driver entry below.
  4093. #
  4094. # Drivers marked with a + are maintained by Aladdin Enterprises with
  4095. # the assistance of users, since Aladdin Enterprises doesn't have access to
  4096. # the hardware for these either.
  4097.  
  4098. # If you add drivers, it would be nice if you kept each list
  4099. # in alphabetical order.
  4100.  
  4101. ###### ----------------------- End of catalog ----------------------- ######
  4102.  
  4103. # As noted in gs.mak, DEVICE_DEVS and DEVICE_DEVS1..15 select the devices
  4104. # that should be included in a given configuration.  By convention, these
  4105. # are used as follows.  Each of these must be limited to about 10 devices
  4106. # so as not to overflow the 120 character limit on MS-DOS command lines.
  4107. #    DEVICE_DEVS - the default device, and any display devices.
  4108. #    DEVICE_DEVS1 - additional display devices if needed.
  4109. #    DEVICE_DEVS2 - dot matrix printers.
  4110. #    DEVICE_DEVS3 - H-P monochrome printers.
  4111. #    DEVICE_DEVS4 - H-P color printers.
  4112. #    DEVICE_DEVS5 - additional H-P printers if needed.
  4113. #    DEVICE_DEVS6 - other ink-jet and laser printers.
  4114. #    DEVICE_DEVS7 - fax file formats.
  4115. #    DEVICE_DEVS8 - PCX file formats.
  4116. #    DEVICE_DEVS9 - PBM/PGM/PPM file formats.
  4117. #    DEVICE_DEVS10 - black-and-white TIFF file formats.
  4118. #    DEVICE_DEVS11 - BMP and color TIFF file formats.
  4119. #    DEVICE_DEVS12 - PostScript image and 'bit' file formats.
  4120. #    DEVICE_DEVS13 - PNG file formats.
  4121. #    DEVICE_DEVS14 - CGM, JPEG, and MIFF file formats.
  4122. #    DEVICE_DEVS15 - high-level (PostScript and PDF) file formats.
  4123. # Feel free to disregard this convention if it gets in your way.
  4124.  
  4125. # If you want to add a new device driver, the examples below should be
  4126. # enough of a guide to the correct form for the makefile rules.
  4127. # Note that all drivers other than displays must include page.dev in their
  4128. # dependencies and use $(SETPDEV) rather than $(SETDEV) in their rule bodies.
  4129.  
  4130. # All device drivers depend on the following:
  4131. GDEV=$(AK) $(ECHOGS_XE) $(gserrors_h) $(gx_h) $(gxdevice_h)
  4132.  
  4133. # "Printer" drivers depend on the following:
  4134. PDEVH=$(AK) $(gdevprn_h)
  4135.  
  4136. # Define the header files for device drivers.  Every header file used by
  4137. # more than one device driver family must be listed here.
  4138. gdev8bcm_h=gdev8bcm.h
  4139. gdevpccm_h=gdevpccm.h
  4140. gdevpcfb_h=gdevpcfb.h $(dos__h)
  4141. gdevpcl_h=gdevpcl.h
  4142. gdevsvga_h=gdevsvga.h
  4143. gdevx_h=gdevx.h
  4144.  
  4145. ###### ----------------------- Device support ----------------------- ######
  4146.  
  4147. # Provide a mapping between StandardEncoding and ISOLatin1Encoding.
  4148. gdevemap.$(OBJ): gdevemap.c $(AK) $(std_h)
  4149.  
  4150. # Implement dynamic color management for 8-bit mapped color displays.
  4151. gdev8bcm.$(OBJ): gdev8bcm.c $(AK) \
  4152.   $(gx_h) $(gxdevice_h) $(gdev8bcm_h)
  4153.  
  4154. ###### ------------------- MS-DOS display devices ------------------- ######
  4155.  
  4156. # There are really only three drivers: an EGA/VGA driver (4 bit-planes,
  4157. # plane-addressed), a SuperVGA driver (8 bit-planes, byte addressed),
  4158. # and a special driver for the S3 chip.
  4159.  
  4160. # PC display color mapping
  4161. gdevpccm.$(OBJ): gdevpccm.c $(AK) \
  4162.   $(gx_h) $(gsmatrix_h) $(gxdevice_h) $(gdevpccm_h)
  4163.  
  4164. ### ----------------------- EGA and VGA displays ----------------------- ###
  4165.  
  4166. # The shared MS-DOS makefile defines PCFBASM as either gdevegaa.$(OBJ)
  4167. # or an empty string.
  4168.  
  4169. gdevegaa.$(OBJ): gdevegaa.asm
  4170.  
  4171. # NOTE: for direct frame buffer addressing under SCO Unix or Xenix,
  4172. # change gdevevga to gdevsco in the following line.  Also, since
  4173. # SCO's /bin/as does not support the "out" instructions, you must build
  4174. # the gnu assembler and have it on your path as "as".
  4175. EGAVGA=gdevevga.$(OBJ) gdevpcfb.$(OBJ) gdevpccm.$(OBJ) $(PCFBASM)
  4176. #EGAVGA=gdevsco.$(OBJ) gdevpcfb.$(OBJ) gdevpccm.$(OBJ) $(PCFBASM)
  4177.  
  4178. gdevevga.$(OBJ): gdevevga.c $(GDEV) $(memory__h) $(gdevpcfb_h)
  4179.     $(CCD) gdevevga.c
  4180.  
  4181. gdevsco.$(OBJ): gdevsco.c $(GDEV) $(memory__h) $(gdevpcfb_h)
  4182.  
  4183. # Common code for MS-DOS and SCO.
  4184. gdevpcfb.$(OBJ): gdevpcfb.c $(GDEV) $(memory__h) $(gconfigv_h)\
  4185.  $(gdevpccm_h) $(gdevpcfb_h) $(gsparam_h)
  4186.     $(CCD) gdevpcfb.c
  4187.  
  4188. # The EGA/VGA family includes EGA and VGA.  Many SuperVGAs in 800x600,
  4189. # 16-color mode can share the same code; see the next section below.
  4190.  
  4191. ega.dev: $(EGAVGA)
  4192.     $(SETDEV) ega $(EGAVGA)
  4193.  
  4194. vga.dev: $(EGAVGA)
  4195.     $(SETDEV) vga $(EGAVGA)
  4196.  
  4197. ### ------------------------- SuperVGA displays ------------------------ ###
  4198.  
  4199. # SuperVGA displays in 16-color, 800x600 mode are really just slightly
  4200. # glorified VGA's, so we can handle them all with a single driver.
  4201. # The way to select them on the command line is with
  4202. #    -sDEVICE=svga16 -dDisplayMode=NNN
  4203. # where NNN is the display mode in decimal.  See use.txt for the modes
  4204. # for some popular display chipsets.
  4205.  
  4206. svga16.dev: $(EGAVGA)
  4207.     $(SETDEV) svga16 $(EGAVGA)
  4208.  
  4209. # More capable SuperVGAs have a wide variety of slightly differing
  4210. # interfaces, so we need a separate driver for each one.
  4211.  
  4212. SVGA=gdevsvga.$(OBJ) gdevpccm.$(OBJ) $(PCFBASM)
  4213.  
  4214. gdevsvga.$(OBJ): gdevsvga.c $(GDEV) $(memory__h) $(gconfigv_h)\
  4215.  $(gsparam_h) $(gxarith_h) $(gdevpccm_h) $(gdevpcfb_h) $(gdevsvga_h)
  4216.     $(CCD) gdevsvga.c
  4217.  
  4218. # The SuperVGA family includes: Avance Logic Inc., ATI Wonder, S3,
  4219. # Trident, Tseng ET3000/4000, and VESA.
  4220.  
  4221. ali.dev: $(SVGA)
  4222.     $(SETDEV) ali $(SVGA)
  4223.  
  4224. atiw.dev: $(SVGA)
  4225.     $(SETDEV) atiw $(SVGA)
  4226.  
  4227. tseng.dev: $(SVGA)
  4228.     $(SETDEV) tseng $(SVGA)
  4229.  
  4230. tvga.dev: $(SVGA)
  4231.     $(SETDEV) tvga $(SVGA)
  4232.  
  4233. vesa.dev: $(SVGA)
  4234.     $(SETDEV) vesa $(SVGA)
  4235.  
  4236. # The S3 driver doesn't share much code with the others.
  4237.  
  4238. s3vga_=gdevs3ga.$(OBJ) gdevsvga.$(OBJ) gdevpccm.$(OBJ)
  4239. s3vga.dev: $(SVGA) $(s3vga_)
  4240.     $(SETDEV) s3vga $(SVGA)
  4241.     $(ADDMOD) s3vga -obj $(s3vga_)
  4242.  
  4243. gdevs3ga.$(OBJ): gdevs3ga.c $(GDEV) $(gdevpcfb_h) $(gdevsvga_h)
  4244.     $(CCD) gdevs3ga.c
  4245.  
  4246. ### ------------ The BGI (Borland Graphics Interface) device ----------- ###
  4247.  
  4248. cgaf.$(OBJ): $(BGIDIR)\cga.bgi
  4249.     $(BGIDIR)\bgiobj /F $(BGIDIR)\cga
  4250.  
  4251. egavgaf.$(OBJ): $(BGIDIR)\egavga.bgi
  4252.     $(BGIDIR)\bgiobj /F $(BGIDIR)\egavga
  4253.  
  4254. # Include egavgaf.$(OBJ) for debugging only.
  4255. bgi_=gdevbgi.$(OBJ) cgaf.$(OBJ)
  4256. bgi.dev: $(bgi_)
  4257.     $(SETDEV) bgi $(bgi_)
  4258.     $(ADDMOD) bgi -lib $(LIBDIR)\graphics
  4259.  
  4260. gdevbgi.$(OBJ): gdevbgi.c $(GDEV) $(MAKEFILE) $(gxxfont_h)
  4261.     $(CCC) -DBGI_LIB="$(BGIDIRSTR)" gdevbgi.c
  4262.  
  4263. ### ------------------- The Hercules Graphics display ------------------- ###
  4264.  
  4265. herc_=gdevherc.$(OBJ)
  4266. herc.dev: $(herc_)
  4267.     $(SETDEV) herc $(herc_)
  4268.  
  4269. gdevherc.$(OBJ): gdevherc.c $(GDEV) $(dos__h) $(gsmatrix_h) $(gxbitmap_h)
  4270.     $(CCC) gdevherc.c
  4271.  
  4272. ### ---------------------- The Private Eye display ---------------------- ###
  4273. ### Note: this driver was contributed by a user:                          ###
  4274. ###   please contact narf@media-lab.media.mit.edu if you have questions.  ###
  4275.  
  4276. pe_=gdevpe.$(OBJ)
  4277. pe.dev: $(pe_)
  4278.     $(SETDEV) pe $(pe_)
  4279.  
  4280. gdevpe.$(OBJ): gdevpe.c $(GDEV) $(memory__h)
  4281.  
  4282. ###### ----------------------- Other displays ------------------------ ######
  4283. ### ---------------- Amiga display/printer/file devices ---------------- ###
  4284. ### Note: this driver was contributed by a user: please contact          ###
  4285. ###       Olaf Barthel (olsen@sourcery.han.de) if you have questions.    ###
  4286. ###       He would also like to hear from anyone using the driver.       ###
  4287. ### Please consult the source code for additional documentation.         ###
  4288.  
  4289. amiga_=gdevamiga.$(OBJ)
  4290.  
  4291. amiga.dev: $(amiga_)
  4292.     $(SETDEV) amiga $(amiga_)
  4293.  
  4294. amiga_custom.dev: $(amiga_)
  4295.     $(SETDEV) amiga_custom $(amiga_)
  4296.  
  4297. amiga_printer.dev: $(amiga_)
  4298.     $(SETDEV) amiga_printer $(amiga_)
  4299.  
  4300. amiga_ilbm.dev: $(amiga_)
  4301.     $(SETDEV) amiga_ilbm $(amiga_)
  4302.  
  4303. gdevamiga.$(OBJ): $(srcdir)/gdevamiga.c
  4304.  
  4305.  
  4306. ### -------------------- The MS-Windows 3.n DLL ------------------------- ###
  4307.  
  4308. gsdll_h=gsdll.h
  4309.  
  4310. gdevmswn_h=gdevmswn.h $(GDEV)\
  4311.  $(dos__h) $(memory__h) $(string__h) $(windows__h)\
  4312.  gp_mswin.h
  4313.  
  4314. gdevmswn.$(OBJ): gdevmswn.c $(gdevmswn_h) $(gp_h) $(gpcheck_h) \
  4315.  $(gsdll_h) $(gsparam_h) $(gdevpccm_h)
  4316.  
  4317. gdevmsxf.$(OBJ): gdevmsxf.c $(ctype__h) $(math__h) $(memory__h) $(string__h)\
  4318.  $(gdevmswn_h) $(gsstruct_h) $(gsutil_h) $(gxxfont_h)
  4319.  
  4320. # An implementation using a DIB filled by an image device.
  4321. gdevwdib.$(OBJ): gdevwdib.c $(gdevmswn_h) $(gsdll_h) $(gxdevmem_h)
  4322.  
  4323. mswindll_=gdevmswn.$(OBJ) gdevmsxf.$(OBJ) gdevwdib.$(OBJ) \
  4324.   gdevemap.$(OBJ) gdevpccm.$(OBJ)
  4325. mswindll.dev: $(mswindll_)
  4326.     $(SETDEV) mswindll $(mswindll_)
  4327.  
  4328. ### -------------------- The MS-Windows DDB 3.n printer ----------------- ###
  4329.  
  4330. mswinprn_=gdevwprn.$(OBJ) gdevmsxf.$(OBJ)
  4331. mswinprn.dev: $(mswinprn_)
  4332.     $(SETDEV) mswinprn $(mswinprn_)
  4333.  
  4334. gdevwprn.$(OBJ): gdevwprn.c $(gdevmswn_h) $(gp_h)
  4335.  
  4336. ### -------------------- The MS-Windows DIB 3.n printer ----------------- ###
  4337.  
  4338. mswinpr2_=gdevwpr2.$(OBJ)
  4339. mswinpr2.dev: $(mswinpr2_) page.dev
  4340.     $(SETPDEV) mswinpr2 $(mswinpr2_)
  4341.  
  4342. gdevwpr2.$(OBJ): gdevwpr2.c $(PDEVH) $(windows__h)\
  4343.  $(gdevpccm_h) $(gp_h) gp_mswin.h
  4344.  
  4345. ### ------------------ OS/2 Presentation Manager device ----------------- ###
  4346.  
  4347. os2pm_=gdevpm.$(OBJ) gdevpccm.$(OBJ)
  4348. os2pm.dev: $(os2pm_)
  4349.     $(SETDEV) os2pm $(os2pm_)
  4350.  
  4351. os2dll_=gdevpm.$(OBJ) gdevpccm.$(OBJ)
  4352. os2dll.dev: $(os2dll_)
  4353.     $(SETDEV) os2dll $(os2dll_)
  4354.  
  4355. gdevpm.$(OBJ): gdevpm.c $(string__h)\
  4356.  $(gp_h) $(gpcheck_h)\
  4357.  $(gsdll_h) $(gserrors_h) $(gsexit_h) $(gsparam_h)\
  4358.  $(gx_h) $(gxdevice_h) $(gxdevmem_h)\
  4359.  $(gdevpccm_h) gdevpm.h
  4360.  
  4361. ### --------------------------- The OS/2 printer ------------------------ ###
  4362.  
  4363. os2prn_=gdevos2p.$(OBJ)
  4364. os2prn.dev: $(os2prn_) page.dev
  4365.     $(SETPDEV) os2prn $(os2prn_)
  4366.  
  4367. os2prn.$(OBJ): os2prn.c $(gp_h)
  4368.  
  4369. ### -------------- The AT&T 3b1 Unixpc monochrome display --------------- ###
  4370. ### Note: this driver was contributed by a user: please contact           ###
  4371. ###       Andy Fyfe (andy@cs.caltech.edu) if you have questions.          ###
  4372.  
  4373. att3b1_=gdev3b1.$(OBJ)
  4374. att3b1.dev: $(att3b1_)
  4375.     $(SETDEV) att3b1 $(att3b1_)
  4376.  
  4377. gdev3b1.$(OBJ): gdev3b1.c $(GDEV)
  4378.  
  4379. ### ---------------------- Linux PC with vgalib ------------------------- ###
  4380. ### Note: these drivers were contributed by users.                        ###
  4381. ### For questions about the lvga256 driver, please contact                ###
  4382. ###       Ludger Kunz (ludger.kunz@fernuni-hagen.de).                     ###
  4383. ### For questions about the vgalib driver, please contact                 ###
  4384. ###       Erik Talvola (talvola@gnu.ai.mit.edu).                          ###
  4385.  
  4386. lvga256_=gdevl256.$(OBJ)
  4387. lvga256.dev: $(lvga256_)
  4388.     $(SETDEV) lvga256 $(lvga256_)
  4389.     $(ADDMOD) lvga256 -lib vga vgagl
  4390.  
  4391. gdevl256.$(OBJ): gdevl256.c $(GDEV)
  4392.  
  4393. vgalib_=gdevvglb.$(OBJ) gdevpccm.$(OBJ)
  4394. vgalib.dev: $(vgalib_)
  4395.     $(SETDEV) vgalib $(vgalib_)
  4396.     $(ADDMOD) vgalib -lib vga
  4397.  
  4398. gdevvglb.$(OBJ): gdevvglb.c $(GDEV) $(gdevpccm_h) $(gsparam_h)
  4399.  
  4400. ### ------------------- Sony NeWS frame buffer device ------------------ ###
  4401. ### Note: this driver was contributed by a user: please contact          ###
  4402. ###       Mike Smolenski (mike@intertech.com) if you have questions.     ###
  4403.  
  4404. # This is implemented as a 'printer' device.
  4405. sonyfb_=gdevsnfb.$(OBJ)
  4406. sonyfb.dev: $(sonyfb_) page.dev
  4407.     $(SETPDEV) sonyfb $(sonyfb_)
  4408.  
  4409. gdevsnfb.$(OBJ): gdevsnfb.c $(PDEVH)
  4410.  
  4411. ### ------------------------ The SunView device ------------------------ ###
  4412. ### Note: this driver is maintained by a user: if you have questions,    ###
  4413. ###       please contact Andreas Stolcke (stolcke@icsi.berkeley.edu).    ###
  4414.  
  4415. sunview_=gdevsun.$(OBJ)
  4416. sunview.dev: $(sunview_)
  4417.     $(SETDEV) sunview $(sunview_)
  4418.     $(ADDMOD) sunview -lib suntool sunwindow pixrect
  4419.  
  4420. gdevsun.$(OBJ): gdevsun.c $(GDEV) $(malloc__h)\
  4421.  $(gscdefs_h) $(gserrors_h) $(gsmatrix_h)
  4422.  
  4423. ### -------------------------- The X11 device -------------------------- ###
  4424.  
  4425. # Aladdin Enterprises does not support Ghostview.  For more information
  4426. # about Ghostview, please contact Tim Theisen (ghostview@cs.wisc.edu).
  4427.  
  4428. # See the main makefile for the definition of XLIBS.
  4429. x11_=gdevx.$(OBJ) gdevxini.$(OBJ) gdevxxf.$(OBJ) gdevemap.$(OBJ)
  4430. x11.dev: $(x11_)
  4431.     $(SETDEV) x11 $(x11_)
  4432.     $(ADDMOD) x11 -lib $(XLIBS)
  4433.  
  4434. # See the main makefile for the definition of XINCLUDE.
  4435. GDEVX=$(GDEV) x_.h gdevx.h $(MAKEFILE)
  4436. gdevx.$(OBJ): gdevx.c $(GDEVX) $(math__h) $(memory__h) $(gsparam_h)
  4437.     $(CCC) $(XINCLUDE) -I. $(srcdir)/gdevx.c
  4438.  
  4439. gdevxini.$(OBJ): gdevxini.c $(GDEVX) $(math__h) $(memory__h) $(gserrors_h)
  4440.     $(CCC) $(XINCLUDE) -I. $(srcdir)/gdevxini.c
  4441.  
  4442. gdevxxf.$(OBJ): gdevxxf.c $(GDEVX) $(math__h) $(memory__h)\
  4443.  $(gsstruct_h) $(gsutil_h) $(gxxfont_h)
  4444.     $(CCC) $(XINCLUDE) -I. $(srcdir)/gdevxxf.c
  4445.  
  4446. # Alternate X11-based devices to help debug other drivers.
  4447. # x11alpha pretends to have 4 bits of alpha channel.
  4448. # x11cmyk pretends to be a CMYK device with 1 bit each of C,M,Y,K.
  4449. # x11gray2 pretends to be a 2-bit gray-scale device.
  4450. # x11mono pretends to be a black-and-white device.
  4451. x11alt_=$(x11_) gdevxalt.$(OBJ)
  4452. x11alpha.dev: $(x11alt_)
  4453.     $(SETDEV) x11alpha $(x11alt_)
  4454.     $(ADDMOD) x11alpha -lib $(XLIBS)
  4455.  
  4456. x11cmyk.dev: $(x11alt_)
  4457.     $(SETDEV) x11cmyk $(x11alt_)
  4458.     $(ADDMOD) x11cmyk -lib $(XLIBS)
  4459.  
  4460. x11gray2.dev: $(x11alt_)
  4461.     $(SETDEV) x11gray2 $(x11alt_)
  4462.     $(ADDMOD) x11gray2 -lib $(XLIBS)
  4463.  
  4464. x11mono.dev: $(x11alt_)
  4465.     $(SETDEV) x11mono $(x11alt_)
  4466.     $(ADDMOD) x11mono -lib $(XLIBS)
  4467.  
  4468. gdevxalt.$(OBJ): gdevxalt.c $(GDEVX) $(math__h) $(memory__h) $(gsparam_h)
  4469.     $(CCC) $(XINCLUDE) -I. $(srcdir)/gdevxalt.c
  4470.  
  4471. ### ------------------------- DEC sixel displays ------------------------ ###
  4472. ### Note: this driver was contributed by a user: please contact           ###
  4473. ###   Phil Keegstra (keegstra@tonga.gsfc.nasa.gov) if you have questions. ###
  4474.  
  4475. # This is a "printer" device, but it probably shouldn't be.
  4476. # I don't know why the implementor chose to do it this way.
  4477. sxlcrt_=gdevln03.$(OBJ)
  4478. sxlcrt.dev: $(sxlcrt_) page.dev
  4479.     $(SETPDEV) sxlcrt $(sxlcrt_)
  4480.  
  4481. ###### --------------- Memory-buffered printer devices --------------- ######
  4482.  
  4483. ### --------------------- The Apple printer devices --------------------- ###
  4484. ### Note: these drivers were contributed by users.                        ###
  4485. ###   If you have questions about the DMP driver, please contact          ###
  4486. ###    Mark Wedel (master@cats.ucsc.edu).                                ###
  4487. ###   If you have questions about the Imagewriter drivers, please contact ###
  4488. ###    Jonathan Luckey (luckey@rtfm.mlb.fl.us).                          ###
  4489. ###   If you have questions about the Imagewriter LQ driver, please       ###
  4490. ###    contact Scott Barker (barkers@cuug.ab.ca).                        ###
  4491.  
  4492. appledmp_=gdevadmp.$(OBJ)
  4493.  
  4494. gdevadmp.$(OBJ): gdevadmp.c $(PDEVH)
  4495.  
  4496. appledmp.dev: $(appledmp_) page.dev
  4497.     $(SETPDEV) appledmp $(appledmp_)
  4498.  
  4499. iwhi.dev: $(appledmp_) page.dev
  4500.     $(SETPDEV) iwhi $(appledmp_)
  4501.  
  4502. iwlo.dev: $(appledmp_) page.dev
  4503.     $(SETPDEV) iwlo $(appledmp_)
  4504.  
  4505. iwlq.dev: $(appledmp_) page.dev
  4506.     $(SETPDEV) iwlq $(appledmp_)
  4507.  
  4508. ### ------------ The Canon BubbleJet BJ10e and BJ200 devices ------------ ###
  4509.  
  4510. bj10e_=gdevbj10.$(OBJ)
  4511.  
  4512. bj10e.dev: $(bj10e_) page.dev
  4513.     $(SETPDEV) bj10e $(bj10e_)
  4514.  
  4515. bj200.dev: $(bj10e_) page.dev
  4516.     $(SETPDEV) bj200 $(bj10e_)
  4517.  
  4518. gdevbj10.$(OBJ): gdevbj10.c $(PDEVH)
  4519.  
  4520. ### ------------- The CalComp Raster Format ----------------------------- ###
  4521. ### Note: this driver was contributed by a user: please contact           ###
  4522. ###       Ernst Muellner (ernst.muellner@oenzl.siemens.de) if you have    ###
  4523. ###       questions.                                                      ###
  4524.  
  4525. ccr_=gdevccr.$(OBJ)
  4526. ccr.dev: $(ccr_) page.dev
  4527.     $(SETPDEV) ccr $(ccr_)
  4528.  
  4529. gdevccr.$(OBJ): gdevccr.c $(PDEVH)
  4530.  
  4531. ### ----------- The H-P DeskJet and LaserJet printer devices ----------- ###
  4532.  
  4533. ### These are essentially the same device.
  4534. ### NOTE: printing at full resolution (300 DPI) requires a printer
  4535. ###   with at least 1.5 Mb of memory.  150 DPI only requires .5 Mb.
  4536. ### Note that the lj4dith driver is included with the H-P color printer
  4537. ###   drivers below.
  4538.  
  4539. HPPCL=gdevpcl.$(OBJ)
  4540. HPMONO=gdevdjet.$(OBJ) $(HPPCL)
  4541.  
  4542. gdevpcl.$(OBJ): gdevpcl.c $(PDEVH) $(gdevpcl_h)
  4543.  
  4544. gdevdjet.$(OBJ): gdevdjet.c $(PDEVH) $(gdevpcl_h)
  4545.  
  4546. deskjet.dev: $(HPMONO) page.dev
  4547.     $(SETPDEV) deskjet $(HPMONO)
  4548.  
  4549. djet500.dev: $(HPMONO) page.dev
  4550.     $(SETPDEV) djet500 $(HPMONO)
  4551.  
  4552. laserjet.dev: $(HPMONO) page.dev
  4553.     $(SETPDEV) laserjet $(HPMONO)
  4554.  
  4555. ljetplus.dev: $(HPMONO) page.dev
  4556.     $(SETPDEV) ljetplus $(HPMONO)
  4557.  
  4558. ### Selecting ljet2p provides TIFF (mode 2) compression on LaserJet III,
  4559. ### IIIp, IIId, IIIsi, IId, and IIp. 
  4560.  
  4561. ljet2p.dev: $(HPMONO) page.dev
  4562.     $(SETPDEV) ljet2p $(HPMONO)
  4563.  
  4564. ### Selecting ljet3 provides Delta Row (mode 3) compression on LaserJet III,
  4565. ### IIIp, IIId, IIIsi.
  4566.  
  4567. ljet3.dev: $(HPMONO) page.dev
  4568.     $(SETPDEV) ljet3 $(HPMONO)
  4569.  
  4570. ### Selecting ljet3d also provides duplex printing capability.
  4571.  
  4572. ljet3d.dev: $(HPMONO) page.dev
  4573.     $(SETPDEV) ljet3d $(HPMONO)
  4574.  
  4575. ### Selecting ljet4 also provides Delta Row compression on LaserJet IV series.
  4576.  
  4577. ljet4.dev: $(HPMONO) page.dev
  4578.     $(SETPDEV) ljet4 $(HPMONO)
  4579.  
  4580. lp2563.dev: $(HPMONO) page.dev
  4581.     $(SETPDEV) lp2563 $(HPMONO)
  4582.  
  4583. oce9050.dev: $(HPMONO) page.dev
  4584.     $(SETPDEV) oce9050 $(HPMONO)
  4585.  
  4586. ### ------------------ The H-P LaserJet 5 and 6 devices ----------------- ###
  4587.  
  4588. ### These drivers use H-P's new PCL XL printer language, like H-P's
  4589. ### LaserJet 5 Enhanced driver for MS Windows.  We don't recommend using
  4590. ### them:
  4591. ###    - If you have a LJ 5L or 5P, which isn't a "real" LaserJet 5,
  4592. ###    use the ljet4 driver instead.  (The lj5 drivers won't work.)
  4593. ###    - If you have any other model of LJ 5 or 6, use the pxlmono
  4594. ###    driver, which often produces much more compact output.
  4595.  
  4596. gdevpxat_h=gdevpxat.h
  4597. gdevpxen_h=gdevpxen.h
  4598. gdevpxop_h=gdevpxop.h
  4599.  
  4600. ljet5_=gdevlj56.$(OBJ) $(HPPCL)
  4601. lj5mono.dev: $(ljet5_) page.dev
  4602.     $(SETPDEV) lj5mono $(ljet5_)
  4603.  
  4604. lj5gray.dev: $(ljet5_) page.dev
  4605.     $(SETPDEV) lj5gray $(ljet5_)
  4606.  
  4607. gdevlj56.$(OBJ): gdevlj56.c $(PDEVH) $(gdevpcl_h)\
  4608.  $(gdevpxat_h) $(gdevpxen_h) $(gdevpxop_h)
  4609.  
  4610. ### The H-P DeskJet, PaintJet, and DesignJet family color printer devices.###
  4611. ### Note: there are two different 500C drivers, both contributed by users.###
  4612. ###   If you have questions about the djet500c driver,                    ###
  4613. ###       please contact AKayser@et.tudelft.nl.                           ###
  4614. ###   If you have questions about the cdj* drivers,                       ###
  4615. ###       please contact g.cameron@biomed.abdn.ac.uk.                     ###
  4616. ###   If you have questions about the dnj560c driver,                     ###
  4617. ###       please contact koert@zen.cais.com.                              ###
  4618. ###   If you have questions about the lj4dith driver,                     ###
  4619. ###       please contact Eckhard.Rueggeberg@ts.go.dlr.de.                 ###
  4620. ###   If you have questions about the BJC600/BJC4000, BJC800, or ESCP     ###
  4621. ###       drivers, please contact Yves.Arrouye@imag.fr.                   ###
  4622.  
  4623. cdeskjet_=gdevcdj.$(OBJ) $(HPPCL)
  4624.  
  4625. cdeskjet.dev: $(cdeskjet_) page.dev
  4626.     $(SETPDEV) cdeskjet $(cdeskjet_)
  4627.  
  4628. cdjcolor.dev: $(cdeskjet_) page.dev
  4629.     $(SETPDEV) cdjcolor $(cdeskjet_)
  4630.  
  4631. cdjmono.dev: $(cdeskjet_) page.dev
  4632.     $(SETPDEV) cdjmono $(cdeskjet_)
  4633.  
  4634. cdj500.dev: $(cdeskjet_) page.dev
  4635.     $(SETPDEV) cdj500 $(cdeskjet_)
  4636.  
  4637. cdj550.dev: $(cdeskjet_) page.dev
  4638.     $(SETPDEV) cdj550 $(cdeskjet_)
  4639.  
  4640. declj250.dev: $(cdeskjet_) page.dev
  4641.     $(SETPDEV) declj250 $(cdeskjet_)
  4642.  
  4643. dnj650c.dev: $(cdeskjet_) page.dev
  4644.     $(SETPDEV) dnj650c $(cdeskjet_)
  4645.  
  4646. lj4dith.dev: $(cdeskjet_) page.dev
  4647.     $(SETPDEV) lj4dith $(cdeskjet_)
  4648.  
  4649. pj.dev: $(cdeskjet_) page.dev
  4650.     $(SETPDEV) pj $(cdeskjet_)
  4651.  
  4652. pjxl.dev: $(cdeskjet_) page.dev
  4653.     $(SETPDEV) pjxl $(cdeskjet_)
  4654.  
  4655. pjxl300.dev: $(cdeskjet_) page.dev
  4656.     $(SETPDEV) pjxl300 $(cdeskjet_)
  4657.  
  4658. # Note: the BJC600 driver also works for the BJC4000.
  4659. bjc600.dev: $(cdeskjet_) page.dev
  4660.     $(SETPDEV) bjc600 $(cdeskjet_)
  4661.  
  4662. bjc800.dev: $(cdeskjet_) page.dev
  4663.     $(SETPDEV) bjc800 $(cdeskjet_)
  4664.  
  4665. escp.dev: $(cdeskjet_) page.dev
  4666.     $(SETPDEV) escp $(cdeskjet_)
  4667.  
  4668. # NB: you can also customise the build if required, using
  4669. # -DBitsPerPixel=<number> if you wish the default to be other than 24
  4670. # for the generic drivers (cdj500, cdj550, pjxl300, pjtest, pjxltest).
  4671. gdevcdj.$(OBJ): gdevcdj.c $(std_h) $(PDEVH) gdevbjc.h\
  4672.  $(gsparam_h) $(gsstate_h) $(gxlum_h)\
  4673.  $(gdevpcl_h)
  4674.  
  4675. djet500c_=gdevdjtc.$(OBJ) $(HPPCL)
  4676. djet500c.dev: $(djet500c_) page.dev
  4677.     $(SETPDEV) djet500c $(djet500c_)
  4678.  
  4679. gdevdjtc.$(OBJ): gdevdjtc.c $(PDEVH) $(malloc__h) $(gdevpcl_h)
  4680.  
  4681. ### -------------------- The Mitsubishi CP50 printer -------------------- ###
  4682. ### Note: this driver was contributed by a user: please contact           ###
  4683. ###       Michael Hu (michael@ximage.com) if you have questions.          ###
  4684.  
  4685. cp50_=gdevcp50.$(OBJ)
  4686. cp50.dev: $(cp50_) page.dev
  4687.     $(SETPDEV) cp50 $(cp50_)
  4688.  
  4689. gdevcp50.$(OBJ): gdevcp50.c $(PDEVH)
  4690.  
  4691. ### ----------------- The generic Epson printer device ----------------- ###
  4692. ### Note: most of this code was contributed by users.  Please contact    ###
  4693. ###       the following people if you have questions:                    ###
  4694. ###   eps9mid - Guenther Thomsen (thomsen@cs.tu-berlin.de)               ###
  4695. ###   eps9high - David Wexelblat (dwex@mtgzfs3.att.com)                  ###
  4696. ###   ibmpro - James W. Birdsall (jwbirdsa@picarefy.picarefy.com)        ###
  4697.  
  4698. epson_=gdevepsn.$(OBJ)
  4699.  
  4700. epson.dev: $(epson_) page.dev
  4701.     $(SETPDEV) epson $(epson_)
  4702.  
  4703. eps9mid.dev: $(epson_) page.dev
  4704.     $(SETPDEV) eps9mid $(epson_)
  4705.  
  4706. eps9high.dev: $(epson_) page.dev
  4707.     $(SETPDEV) eps9high $(epson_)
  4708.  
  4709. gdevepsn.$(OBJ): gdevepsn.c $(PDEVH)
  4710.  
  4711. ### ----------------- The IBM Proprinter printer device ---------------- ###
  4712.  
  4713. ibmpro.dev: $(epson_) page.dev
  4714.     $(SETPDEV) ibmpro $(epson_)
  4715.  
  4716. ### -------------- The Epson LQ-2550 color printer device -------------- ###
  4717. ### Note: this driver was contributed by users: please contact           ###
  4718. ###       Dave St. Clair (dave@exlog.com) if you have questions.         ###
  4719.  
  4720. epsonc_=gdevepsc.$(OBJ)
  4721. epsonc.dev: $(epsonc_) page.dev
  4722.     $(SETPDEV) epsonc $(epsonc_)
  4723.  
  4724. gdevepsc.$(OBJ): gdevepsc.c $(PDEVH)
  4725.  
  4726. ### ------------- The Epson ESC/P 2 language printer devices ------------- ###
  4727. ### Note: these drivers were contributed by users.                         ###
  4728. ### For questions about the Stylus 800 and AP3250 drivers, please contact  ###
  4729. ###        Richard Brown (rab@tauon.ph.unimelb.edu.au).                    ###
  4730. ### For questions about the Stylus Color drivers, please contact           ###
  4731. ###        Gunther Hess (gunther@elmos.de).                                ###
  4732.  
  4733. ESCP2=gdevescp.$(OBJ)
  4734.  
  4735. gdevescp.$(OBJ): gdevescp.c $(PDEVH)
  4736.  
  4737. ap3250.dev: $(ESCP2) page.dev
  4738.     $(SETPDEV) ap3250 $(ESCP2)
  4739.  
  4740. st800.dev: $(ESCP2) page.dev
  4741.     $(SETPDEV) st800 $(ESCP2)
  4742.  
  4743. stcolor1_=gdevstc.$(OBJ) gdevstc1.$(OBJ) gdevstc2.$(OBJ)
  4744. stcolor2_=gdevstc3.$(OBJ) gdevstc4.$(OBJ)
  4745. stcolor.dev: $(stcolor1_) $(stcolor2_) page.dev
  4746.     $(SETPDEV) stcolor $(stcolor1_)
  4747.     $(ADDMOD) stcolor -obj $(stcolor2_)
  4748.  
  4749. gdevstc.$(OBJ): gdevstc.c gdevstc.h $(PDEVH)
  4750.  
  4751. gdevstc1.$(OBJ): gdevstc1.c gdevstc.h $(PDEVH)
  4752.  
  4753. gdevstc2.$(OBJ): gdevstc2.c gdevstc.h $(PDEVH)
  4754.  
  4755. gdevstc3.$(OBJ): gdevstc3.c gdevstc.h $(PDEVH)
  4756.  
  4757. gdevstc4.$(OBJ): gdevstc4.c gdevstc.h $(PDEVH)
  4758.  
  4759. ### --------------- Ugly/Update -> Unified Printer Driver ---------------- ###
  4760. ### For questions about this driver, please contact:                       ###
  4761. ###        Gunther Hess (gunther@elmos.de)                                 ###
  4762.  
  4763. uniprint_=gdevupd.$(OBJ)
  4764. uniprint.dev: $(uniprint_) page.dev
  4765.     $(SETPDEV) uniprint $(uniprint_)
  4766.  
  4767. gdevupd.$(OBJ): gdevupd.c $(PDEVH) $(gsparam_h)
  4768.  
  4769. ### -------------- cdj850 - HP 850c Driver under development ------------- ###
  4770. ### Since this driver is in the development-phase it is not distributed    ###
  4771. ### with ghostscript, but it is available via anonymous ftp from:          ###
  4772. ###                        ftp://bonk.ethz.ch                              ###
  4773. ### For questions about this driver, please contact:                       ###
  4774. ###       Uli Wortmann (E-Mail address inside the driver-package)          ###
  4775.  
  4776. cdeskjet8_=gdevcd8.$(OBJ) $(HPPCL)
  4777.  
  4778. cdj850.dev: $(cdeskjet8_) page.dev
  4779.     $(SETPDEV) cdj850 $(cdeskjet8_)
  4780.  
  4781. ### ------------ The H-P PaintJet color printer device ----------------- ###
  4782. ### Note: this driver also supports the DEC LJ250 color printer, which   ###
  4783. ###       has a PaintJet-compatible mode, and the PaintJet XL.           ###
  4784. ### If you have questions about the XL, please contact Rob Reiss         ###
  4785. ###       (rob@moray.berkeley.edu).                                      ###
  4786.  
  4787. PJET=gdevpjet.$(OBJ) $(HPPCL)
  4788.  
  4789. gdevpjet.$(OBJ): gdevpjet.c $(PDEVH) $(gdevpcl_h)
  4790.  
  4791. lj250.dev: $(PJET) page.dev
  4792.     $(SETPDEV) lj250 $(PJET)
  4793.  
  4794. paintjet.dev: $(PJET) page.dev
  4795.     $(SETPDEV) paintjet $(PJET)
  4796.  
  4797. pjetxl.dev: $(PJET) page.dev
  4798.     $(SETPDEV) pjetxl $(PJET)
  4799.  
  4800. ### -------------- Imagen ImPress Laser Printer device ----------------- ###
  4801. ### Note: this driver was contributed by a user: please contact          ###
  4802. ###       Alan Millar (AMillar@bolis.sf-bay.org) if you have questions.  ###
  4803. ### Set USE_BYTE_STREAM if using parallel interface;                     ###
  4804. ### Don't set it if using 'ipr' spooler (default).                       ###
  4805. ### You may also add -DA4 if needed for A4 paper.             ###
  4806.  
  4807. imagen_=gdevimgn.$(OBJ)
  4808. imagen.dev: $(imagen_) page.dev
  4809.     $(SETPDEV) imagen $(imagen_)
  4810.  
  4811. gdevimgn.$(OBJ): gdevimgn.c $(PDEVH)
  4812.     $(CCC) gdevimgn.c            # for ipr spooler
  4813. #    $(CCC) -DUSE_BYTE_STREAM gdevimgn.c    # for parallel
  4814.  
  4815. ### ------- The IBM 3852 JetPrinter color inkjet printer device -------- ###
  4816. ### Note: this driver was contributed by users: please contact           ###
  4817. ###       Kevin Gift (kgift@draper.com) if you have questions.           ###
  4818. ### Note that the paper size that can be addressed by the graphics mode  ###
  4819. ###   used in this driver is fixed at 7-1/2 inches wide (the printable   ###
  4820. ###   width of the jetprinter itself.)                                   ###
  4821.  
  4822. jetp3852_=gdev3852.$(OBJ)
  4823. jetp3852.dev: $(jetp3852_) page.dev
  4824.     $(SETPDEV) jetp3852 $(jetp3852_)
  4825.  
  4826. gdev3852.$(OBJ): gdev3852.c $(PDEVH) $(gdevpcl_h)
  4827.  
  4828. ### ---------- The Canon LBP-8II and LIPS III printer devices ---------- ###
  4829. ### Note: these drivers were contributed by users.                       ###
  4830. ### For questions about these drivers, please contact                    ###
  4831. ###       Lauri Paatero, lauri.paatero@paatero.pp.fi                     ###
  4832.  
  4833. lbp8_=gdevlbp8.$(OBJ)
  4834. lbp8.dev: $(lbp8_) page.dev
  4835.     $(SETPDEV) lbp8 $(lbp8_)
  4836.  
  4837. lips3.dev: $(lbp8_) page.dev
  4838.     $(SETPDEV) lips3 $(lbp8_)
  4839.  
  4840. gdevlbp8.$(OBJ): gdevlbp8.c $(PDEVH)
  4841.  
  4842. ### ----------- The DEC LN03/LA50/LA70/LA75 printer devices ------------ ###
  4843. ### Note: this driver was contributed by users: please contact           ###
  4844. ###       Ulrich Mueller (ulm@vsnhd1.cern.ch) if you have questions.     ###
  4845. ### For questions about LA50 and LA75, please contact                    ###
  4846. ###       Ian MacPhedran (macphed@dvinci.USask.CA).                      ###
  4847. ### For questions about the LA70, please contact                         ###
  4848. ###       Bruce Lowekamp (lowekamp@csugrad.cs.vt.edu).                   ###
  4849. ### For questions about the LA75plus, please contact                     ###
  4850. ###       Andre' Beck (Andre_Beck@IRS.Inf.TU-Dresden.de).                ###
  4851.  
  4852. ln03_=gdevln03.$(OBJ)
  4853. ln03.dev: $(ln03_) page.dev
  4854.     $(SETPDEV) ln03 $(ln03_)
  4855.  
  4856. la50.dev: $(ln03_) page.dev
  4857.     $(SETPDEV) la50 $(ln03_)
  4858.  
  4859. la70.dev: $(ln03_) page.dev
  4860.     $(SETPDEV) la70 $(ln03_)
  4861.  
  4862. la75.dev: $(ln03_) page.dev
  4863.     $(SETPDEV) la75 $(ln03_)
  4864.  
  4865. la75plus.dev: $(ln03_) page.dev
  4866.     $(SETPDEV) la75plus $(ln03_)
  4867.  
  4868. gdevln03.$(OBJ): gdevln03.c $(PDEVH)
  4869.  
  4870. # LA70 driver with low-resolution text enhancement.
  4871.  
  4872. la70t_=gdevla7t.$(OBJ)
  4873. la70t.dev: $(la70t_) page.dev
  4874.     $(SETPDEV) la70t $(la70t_)
  4875.  
  4876. gdevla7t.$(OBJ): gdevla7t.c $(PDEVH)
  4877.  
  4878. ### -------------- The Epson LP-8000 laser printer device -------------- ###
  4879. ### Note: this driver was contributed by a user: please contact Oleg     ###
  4880. ###       Oleg Fat'yanov <faty1@rlem.titech.ac.jp> if you have questions.###
  4881.  
  4882. lp8000_=gdevlp8k.$(OBJ)
  4883. lp8000.dev: $(lp8000_) page.dev
  4884.     $(SETPDEV) lp8000 $(lp8000_)
  4885.  
  4886. gdevlp8k.$(OBJ): gdevlp8k.c $(PDEVH)
  4887.  
  4888. ### -------------- The C.Itoh M8510 printer device --------------------- ###
  4889. ### Note: this driver was contributed by a user: please contact Bob      ###
  4890. ###       Smith <bob@snuffy.penfield.ny.us> if you have questions.       ###
  4891.  
  4892. m8510_=gdev8510.$(OBJ)
  4893. m8510.dev: $(m8510_) page.dev
  4894.     $(SETPDEV) m8510 $(m8510_)
  4895.  
  4896. gdev8510.$(OBJ): gdev8510.c $(PDEVH)
  4897.  
  4898. ### -------------- 24pin Dot-matrix printer with 360DPI ---------------- ###
  4899. ### Note: this driver was contributed by users.  Please contact:         ###
  4900. ###    Andreas Schwab (schwab@ls5.informatik.uni-dortmund.de) for        ###
  4901. ###      questions about the NEC P6;                                     ###
  4902. ###    Christian Felsch (felsch@tu-harburg.d400.de) for                  ###
  4903. ###      questions about the Epson LQ850.                                ###
  4904.  
  4905. dm24_=gdevdm24.$(OBJ)
  4906. gdevdm24.$(OBJ): gdevdm24.c $(PDEVH)
  4907.  
  4908. necp6.dev: $(dm24_) page.dev
  4909.     $(SETPDEV) necp6 $(dm24_)
  4910.  
  4911. lq850.dev: $(dm24_) page.dev
  4912.     $(SETPDEV) lq850 $(dm24_)
  4913.  
  4914. ### ----------------- The Okidata MicroLine 182 device ----------------- ###
  4915. ### Note: this driver was contributed by a user: please contact          ###
  4916. ###       Maarten Koning (smeg@bnr.ca) if you have questions.            ###
  4917.  
  4918. oki182_=gdevo182.$(OBJ)
  4919. oki182.dev: $(oki182_) page.dev
  4920.     $(SETPDEV) oki182 $(oki182_)
  4921.  
  4922. gdevo182.$(OBJ): gdevo182.c $(PDEVH)
  4923.  
  4924. ### ------------- The Okidata IBM compatible printer device ------------ ###
  4925. ### Note: this driver was contributed by a user: please contact          ###
  4926. ###       Charles Mack (chasm@netcom.com) if you have questions.         ###
  4927.  
  4928. okiibm_=gdevokii.$(OBJ)
  4929. okiibm.dev: $(okiibm_) page.dev
  4930.     $(SETPDEV) okiibm $(okiibm_)
  4931.  
  4932. gdevokii.$(OBJ): gdevokii.c $(PDEVH)
  4933.  
  4934. ### ------------- The Ricoh 4081 laser printer device ------------------ ###
  4935. ### Note: this driver was contributed by users:                          ###
  4936. ###       please contact kdw@oasis.icl.co.uk if you have questions.      ###
  4937.  
  4938. r4081_=gdev4081.$(OBJ)
  4939. r4081.dev: $(r4081_) page.dev
  4940.     $(SETPDEV) r4081 $(r4081_)
  4941.  
  4942.  
  4943. gdev4081.$(OBJ): gdev4081.c $(PDEVH)
  4944.  
  4945. ### -------------------- Sony NWP533 printer device -------------------- ###
  4946. ### Note: this driver was contributed by a user: please contact Tero     ###
  4947. ###       Kivinen (kivinen@joker.cs.hut.fi) if you have questions.       ###
  4948.  
  4949. nwp533_=gdevn533.$(OBJ)
  4950. nwp533.dev: $(nwp533_) page.dev
  4951.     $(SETPDEV) nwp533 $(nwp533_)
  4952.  
  4953. gdevn533.$(OBJ): gdevn533.c $(PDEVH)
  4954.  
  4955. ### ------------------------- The SPARCprinter ------------------------- ###
  4956. ### Note: this driver was contributed by users: please contact Martin    ###
  4957. ###       Schulte (schulte@thp.uni-koeln.de) if you have questions.      ###
  4958. ###       He would also like to hear from anyone using the driver.       ###
  4959. ### Please consult the source code for additional documentation.         ###
  4960.  
  4961. sparc_=gdevsppr.$(OBJ)
  4962. sparc.dev: $(sparc_) page.dev
  4963.     $(SETPDEV) sparc $(sparc_)
  4964.  
  4965. gdevsppr.$(OBJ): gdevsppr.c $(PDEVH)
  4966.  
  4967. ### ----------------- The StarJet SJ48 device -------------------------- ###
  4968. ### Note: this driver was contributed by a user: if you have questions,  ###
  4969. ###                          .                                          ###
  4970. ###       please contact Mats Akerblom (f86ma@dd.chalmers.se).           ###
  4971.  
  4972. sj48_=gdevsj48.$(OBJ)
  4973. sj48.dev: $(sj48_) page.dev
  4974.     $(SETPDEV) sj48 $(sj48_)
  4975.  
  4976. gdevsj48.$(OBJ): gdevsj48.c $(PDEVH)
  4977.  
  4978. ### ----------------- Tektronix 4396d color printer -------------------- ###
  4979. ### Note: this driver was contributed by a user: please contact          ###
  4980. ###       Karl Hakimian (hakimian@haney.eecs.wsu.edu)                    ###
  4981. ###       if you have questions.                                         ###
  4982.  
  4983. t4693d_=gdev4693.$(OBJ)
  4984. t4693d2.dev: $(t4693d_) page.dev
  4985.     $(SETPDEV) t4693d2 $(t4693d_)
  4986.  
  4987. t4693d4.dev: $(t4693d_) page.dev
  4988.     $(SETPDEV) t4693d4 $(t4693d_)
  4989.  
  4990. t4693d8.dev: $(t4693d_) page.dev
  4991.     $(SETPDEV) t4693d8 $(t4693d_)
  4992.  
  4993. gdev4693.$(OBJ): gdev4693.c $(PDEVH)
  4994.  
  4995. ### -------------------- Tektronix ink-jet printers -------------------- ###
  4996. ### Note: this driver was contributed by a user: please contact          ###
  4997. ###       Karsten Spang (spang@nbivax.nbi.dk) if you have questions.     ###
  4998.  
  4999. tek4696_=gdevtknk.$(OBJ)
  5000. tek4696.dev: $(tek4696_) page.dev
  5001.     $(SETPDEV) tek4696 $(tek4696_)
  5002.  
  5003. gdevtknk.$(OBJ): gdevtknk.c $(PDEVH) $(malloc__h)
  5004.  
  5005. ### ----------------- The Xerox XES printer device --------------------- ###
  5006. ### Note: this driver was contributed by users: please contact           ###
  5007. ###       Peter Flass (flass@lbdrscs.bitnet) if you have questions.      ###
  5008.  
  5009. xes_=gdevxes.$(OBJ)
  5010. xes.dev: $(xes_) page.dev
  5011.     $(SETPDEV) xes $(xes_)
  5012.  
  5013. gdevxes.$(OBJ): gdevxes.c $(PDEVH)
  5014.  
  5015. ###### ------------------------- Fax devices ------------------------- ######
  5016.  
  5017. ### --------------- Generic PostScript system compatible fax ------------ ###
  5018.  
  5019. # This code doesn't work yet.  Don't even think about using it.
  5020.  
  5021. PSFAX=gdevpfax.$(OBJ)
  5022.  
  5023. psfax_=$(PSFAX)
  5024. psfax.dev: $(psfax_) page.dev
  5025.     $(SETPDEV) psfax $(psfax_)
  5026.     $(ADDMOD) psfax -iodev Fax
  5027.  
  5028. gdevpfax.$(OBJ): gdevpfax.c $(PDEVH) $(gsparam_h) $(gxiodev_h)
  5029.  
  5030. ### ------------------------- The DigiFAX device ------------------------ ###
  5031. ###    This driver outputs images in a format suitable for use with       ###
  5032. ###    DigiBoard, Inc.'s DigiFAX software.  Use -sDEVICE=dfaxhigh for     ###
  5033. ###    high resolution output, -sDEVICE=dfaxlow for normal output.        ###
  5034. ### Note: this driver was contributed by a user: please contact           ###
  5035. ###       Rick Richardson (rick@digibd.com) if you have questions.        ###
  5036.  
  5037. dfax_=gdevdfax.$(OBJ) gdevtfax.$(OBJ)
  5038.  
  5039. dfaxlow.dev: $(dfax_) page.dev
  5040.     $(SETPDEV) dfaxlow $(dfax_)
  5041.     $(ADDMOD) dfaxlow -include cfe
  5042.  
  5043. dfaxhigh.dev: $(dfax_) page.dev
  5044.     $(SETPDEV) dfaxhigh $(dfax_)
  5045.     $(ADDMOD) dfaxhigh -include cfe
  5046.  
  5047. gdevdfax.$(OBJ): gdevdfax.c $(PDEVH) $(scfx_h) $(strimpl_h)
  5048.  
  5049. ### --------------See under TIFF below for fax-format TIFF -------------- ###
  5050.  
  5051. ###### ------------------- High-level file formats ------------------- ######
  5052.  
  5053. # Support for PostScript and PDF
  5054.  
  5055. gdevpsdf_h=gdevpsdf.h $(gdevvec_h) $(strimpl_h)
  5056. gdevpstr_h=gdevpstr.h
  5057.  
  5058. gdevpsdf.$(OBJ): gdevpsdf.c $(stdio__h) $(string__h)\
  5059.  $(gserror_h) $(gserrors_h) $(gsmemory_h) $(gsparam_h) $(gstypes_h)\
  5060.  $(gxdevice_h)\
  5061.  $(scfx_h) $(slzwx_h) $(srlx_h) $(strimpl_h)\
  5062.  $(gdevpsdf_h) $(gdevpstr_h)
  5063.  
  5064. gdevpstr.$(OBJ): gdevpstr.c $(math__h) $(stdio__h) $(string__h)\
  5065.  $(gdevpstr_h) $(stream_h)
  5066.  
  5067. # PostScript and EPS writers
  5068.  
  5069. pswrite1_=gdevps.$(OBJ) gdevpsdf.$(OBJ) gdevpstr.$(OBJ)
  5070. pswrite2_=scantab.$(OBJ) sfilter2.$(OBJ)
  5071. pswrite_=$(pswrite1_) $(pswrite2_)
  5072. epswrite.dev: $(ECHOGS_XE) $(pswrite_) vector.dev
  5073.     $(SETDEV) epswrite $(pswrite1_)
  5074.     $(ADDMOD) epswrite $(pswrite2_)
  5075.     $(ADDMOD) epswrite -include vector
  5076.  
  5077. pswrite.dev: $(ECHOGS_XE) $(pswrite_) vector.dev
  5078.     $(SETDEV) pswrite $(pswrite1_)
  5079.     $(ADDMOD) pswrite $(pswrite2_)
  5080.     $(ADDMOD) pswrite -include vector
  5081.  
  5082. gdevps.$(OBJ): gdevps.c $(GDEV) $(math__h) $(time__h)\
  5083.  $(gscdefs_h) $(gscspace_h) $(gsparam_h) $(gsiparam_h) $(gsmatrix_h)\
  5084.  $(gxdcolor_h)\
  5085.  $(sa85x_h) $(strimpl_h)\
  5086.  $(gdevpsdf_h) $(gdevpstr_h)
  5087.  
  5088. # PDF writer
  5089. # Note that gs_pdfwr.ps will only actually be loaded if the configuration
  5090. # includes a PostScript interpreter.
  5091.  
  5092. pdfwrite1_=gdevpdf.$(OBJ) gdevpdfd.$(OBJ) gdevpdfi.$(OBJ) gdevpdfm.$(OBJ)
  5093. pdfwrite2_=gdevpdfp.$(OBJ) gdevpdft.$(OBJ) gdevpsdf.$(OBJ) gdevpstr.$(OBJ)
  5094. pdfwrite3_=gsflip.$(OBJ) scantab.$(OBJ) sfilter2.$(OBJ) sstring.$(OBJ)
  5095. pdfwrite_=$(pdfwrite1_) $(pdfwrite2_) $(pdfwrite3_)
  5096. pdfwrite.dev: $(ECHOGS_XE) $(pdfwrite_) \
  5097.   cmyklib.dev cfe.dev dcte.dev lzwe.dev rle.dev vector.dev
  5098.     $(SETDEV) pdfwrite $(pdfwrite1_)
  5099.     $(ADDMOD) pdfwrite $(pdfwrite2_)
  5100.     $(ADDMOD) pdfwrite $(pdfwrite3_)
  5101.     $(ADDMOD) pdfwrite -ps gs_pdfwr
  5102.     $(ADDMOD) pdfwrite -include cmyklib cfe dcte lzwe rle vector
  5103.  
  5104. gdevpdfx_h=gdevpdfx.h $(gsparam_h) $(gxdevice_h) $(gxline_h) $(stream_h)\
  5105.  $(gdevpsdf_h) $(gdevpstr_h)
  5106.  
  5107. gdevpdf.$(OBJ): gdevpdf.c $(math__h) $(memory__h) $(string__h) $(time__h)\
  5108.  $(gp_h)\
  5109.  $(gdevpdfx_h) $(gscdefs_h) $(gserrors_h)\
  5110.  $(gx_h) $(gxdevice_h) $(gxfixed_h) $(gxistate_h) $(gxpaint_h)\
  5111.  $(gzcpath_h) $(gzpath_h)\
  5112.  $(scanchar_h) $(scfx_h) $(slzwx_h) $(sstring_h) $(strimpl_h) $(szlibx_h)
  5113.     $(CCCZ) $(srcdir)/gdevpdf.c
  5114.  
  5115. gdevpdfd.$(OBJ): gdevpdfd.c $(math__h)\
  5116.  $(gdevpdfx_h)\
  5117.  $(gx_h) $(gxdevice_h) $(gxfixed_h) $(gxistate_h) $(gxpaint_h)\
  5118.  $(gzcpath_h) $(gzpath_h)
  5119.  
  5120. gdevpdfi.$(OBJ): gdevpdfi.c $(math__h) $(memory__h) $(gx_h) \
  5121.   $(gdevpdfx_h) $(gscie_h) $(gscolor2_h) $(gserrors_h) $(gsflip_h)\
  5122.   $(gxcspace_h) $(gxistate_h) \
  5123.   $(sa85x_h) $(scfx_h) $(srlx_h) $(strimpl_h)
  5124.  
  5125. gdevpdfm.$(OBJ): gdevpdfm.c $(memory__h) $(string__h) $(gx_h) \
  5126.   $(gdevpdfx_h) $(gserrors_h) $(gsutil_h) $(scanchar_h)
  5127.  
  5128. gdevpdfp.$(OBJ): gdevpdfp.c $(gx_h)\
  5129.  $(gdevpdfx_h) $(gserrors_h)
  5130.  
  5131. gdevpdft.$(OBJ): gdevpdft.c $(math__h) $(memory__h) $(string__h) $(gx_h)\
  5132.  $(gdevpdfx_h) $(gserrors_h) $(gsutil_h)\
  5133.  $(scommon_h)
  5134.  
  5135. # High-level PCL XL writer
  5136.  
  5137. pxl_=gdevpx.$(OBJ)
  5138. pxlmono.dev: $(pxl_) $(GDEV) vector.dev
  5139.     $(SETDEV) pxlmono $(pxl_)
  5140.     $(ADDMOD) pxlmono -include vector
  5141.  
  5142. pxlcolor.dev: $(pxl_) $(GDEV) vector.dev
  5143.     $(SETDEV) pxlcolor $(pxl_)
  5144.     $(ADDMOD) pxlcolor -include vector
  5145.  
  5146. gdevpx.$(OBJ): gdevpx.c $(math__h) $(memory__h) $(string__h)\
  5147.  $(gx_h) $(gsccolor_h) $(gsdcolor_h) $(gserrors_h)\
  5148.  $(gxcspace_h) $(gxdevice_h) $(gxpath_h)\
  5149.  $(gdevpxat_h) $(gdevpxen_h) $(gdevpxop_h) $(gdevvec_h)\
  5150.  $(srlx_h) $(strimpl_h)
  5151.  
  5152. ###### --------------------- Raster file formats --------------------- ######
  5153.  
  5154. ### --------------------- The "plain bits" devices ---------------------- ###
  5155.  
  5156. bit_=gdevbit.$(OBJ)
  5157.  
  5158. bit.dev: $(bit_) page.dev
  5159.     $(SETPDEV) bit $(bit_)
  5160.  
  5161. bitrgb.dev: $(bit_) page.dev
  5162.     $(SETPDEV) bitrgb $(bit_)
  5163.  
  5164. bitcmyk.dev: $(bit_) page.dev
  5165.     $(SETPDEV) bitcmyk $(bit_)
  5166.  
  5167. gdevbit.$(OBJ): gdevbit.c $(PDEVH) $(gsparam_h) $(gxlum_h)
  5168.  
  5169. ### ------------------------- .BMP file formats ------------------------- ###
  5170.  
  5171. bmp_=gdevbmp.$(OBJ) gdevpccm.$(OBJ)
  5172.  
  5173. gdevbmp.$(OBJ): gdevbmp.c $(PDEVH) $(gdevpccm_h)
  5174.  
  5175. bmpmono.dev: $(bmp_) page.dev
  5176.     $(SETPDEV) bmpmono $(bmp_)
  5177.  
  5178. bmp16.dev: $(bmp_) page.dev
  5179.     $(SETPDEV) bmp16 $(bmp_)
  5180.  
  5181. bmp256.dev: $(bmp_) page.dev
  5182.     $(SETPDEV) bmp256 $(bmp_)
  5183.  
  5184. bmp16m.dev: $(bmp_) page.dev
  5185.     $(SETPDEV) bmp16m $(bmp_)
  5186.  
  5187. ### -------------------------- CGM file format ------------------------- ###
  5188. ### This driver is under development.  Use at your own risk.             ###
  5189. ### The output is very low-level, consisting only of rectangles and      ###
  5190. ### cell arrays.                                                         ###
  5191.  
  5192. cgm_=gdevcgm.$(OBJ) gdevcgml.$(OBJ)
  5193.  
  5194. gdevcgml_h=gdevcgml.h
  5195. gdevcgmx_h=gdevcgmx.h $(gdevcgml_h)
  5196.  
  5197. gdevcgm.$(OBJ): gdevcgm.c $(GDEV) $(memory__h)\
  5198.  $(gsparam_h) $(gdevpccm_h) $(gdevcgml_h)
  5199.  
  5200. gdevcgml.$(OBJ): gdevcgml.c $(memory__h) $(stdio__h)\
  5201.  $(gdevcgmx_h)
  5202.  
  5203. cgmmono.dev: $(cgm_)
  5204.     $(SETDEV) cgmmono $(cgm_)
  5205.  
  5206. cgm8.dev: $(cgm_)
  5207.     $(SETDEV) cgm8 $(cgm_)
  5208.  
  5209. cgm24.dev: $(cgm_)
  5210.     $(SETDEV) cgm24 $(cgm_)
  5211.  
  5212. ### -------------------- The CIF file format for VLSI ------------------ ###
  5213. ### Note: this driver was contributed by a user: please contact          ###
  5214. ###       Frederic Petrot (petrot@masi.ibp.fr) if you have questions.    ###
  5215.  
  5216. cif_=gdevcif.$(OBJ)
  5217. cif.dev: $(cif_) page.dev
  5218.     $(SETPDEV) cif $(cif_)
  5219.  
  5220. gdevcif.$(OBJ): gdevcif.c $(PDEVH)
  5221.  
  5222. ### ------------------------- JPEG file format ------------------------- ###
  5223.  
  5224. jpeg_=gdevjpeg.$(OBJ)
  5225.  
  5226. # RGB output
  5227. jpeg.dev: $(jpeg_) sdcte.dev page.dev
  5228.     $(SETPDEV) jpeg $(jpeg_)
  5229.     $(ADDMOD) jpeg -include sdcte
  5230.  
  5231. # Gray output
  5232. jpeggray.dev: $(jpeg_) sdcte.dev page.dev
  5233.     $(SETPDEV) jpeggray $(jpeg_)
  5234.     $(ADDMOD) jpeggray -include sdcte
  5235.  
  5236. gdevjpeg.$(OBJ): gdevjpeg.c $(stdio__h) $(PDEVH)\
  5237.  $(sdct_h) $(sjpeg_h) $(stream_h) $(strimpl_h) jpeglib.h
  5238.  
  5239. ### ------------------------- MIFF file format ------------------------- ###
  5240. ### Right now we support only 24-bit direct color, but we might add more ###
  5241. ### formats in the future.                                               ###
  5242.  
  5243. miff_=gdevmiff.$(OBJ)
  5244.  
  5245. miff24.dev: $(miff_) page.dev
  5246.     $(SETPDEV) miff24 $(miff_)
  5247.  
  5248. gdevmiff.$(OBJ): gdevmiff.c $(PDEVH)
  5249.  
  5250. ### --------------------------- MGR devices ---------------------------- ###
  5251. ### Note: these drivers were contributed by a user: please contact       ###
  5252. ###       Carsten Emde (carsten@ce.pr.net.ch) if you have questions.     ###
  5253.  
  5254. MGR=gdevmgr.$(OBJ) gdevpccm.$(OBJ)
  5255.  
  5256. gdevmgr.$(OBJ): gdevmgr.c $(PDEVH) $(gdevpccm_h) gdevmgr.h
  5257.  
  5258. mgrmono.dev: $(MGR) page.dev
  5259.     $(SETPDEV) mgrmono $(MGR)
  5260.  
  5261. mgrgray2.dev: $(MGR) page.dev
  5262.     $(SETPDEV) mgrgray2 $(MGR)
  5263.  
  5264. mgrgray4.dev: $(MGR) page.dev
  5265.     $(SETPDEV) mgrgray4 $(MGR)
  5266.  
  5267. mgrgray8.dev: $(MGR) page.dev
  5268.     $(SETPDEV) mgrgray8 $(MGR)
  5269.  
  5270. mgr4.dev: $(MGR) page.dev
  5271.     $(SETPDEV) mgr4 $(MGR)
  5272.  
  5273. mgr8.dev: $(MGR) page.dev
  5274.     $(SETPDEV) mgr8 $(MGR)
  5275.  
  5276. ### ------------------------- PCX file formats ------------------------- ###
  5277.  
  5278. pcx_=gdevpcx.$(OBJ) gdevpccm.$(OBJ)
  5279.  
  5280. gdevpcx.$(OBJ): gdevpcx.c $(PDEVH) $(gdevpccm_h) $(gxlum_h)
  5281.  
  5282. pcxmono.dev: $(pcx_) page.dev
  5283.     $(SETPDEV) pcxmono $(pcx_)
  5284.  
  5285. pcxgray.dev: $(pcx_) page.dev
  5286.     $(SETPDEV) pcxgray $(pcx_)
  5287.  
  5288. pcx16.dev: $(pcx_) page.dev
  5289.     $(SETPDEV) pcx16 $(pcx_)
  5290.  
  5291. pcx256.dev: $(pcx_) page.dev
  5292.     $(SETPDEV) pcx256 $(pcx_)
  5293.  
  5294. pcx24b.dev: $(pcx_) page.dev
  5295.     $(SETPDEV) pcx24b $(pcx_)
  5296.  
  5297. pcxcmyk.dev: $(pcx_) page.dev
  5298.     $(SETPDEV) pcxcmyk $(pcx_)
  5299.  
  5300. # The 2-up PCX device is here only as an example, and for testing.
  5301. pcx2up.dev: $(LIB_MAK) $(ECHOGS_XE) gdevp2up.$(OBJ) page.dev pcx256.dev
  5302.     $(SETPDEV) pcx2up gdevp2up.$(OBJ)
  5303.     $(ADDMOD) pcx2up -include pcx256
  5304.  
  5305. gdevp2up.$(OBJ): gdevp2up.c $(AK)\
  5306.  $(gdevpccm_h) $(gdevprn_h) $(gxclpage_h)
  5307.  
  5308. ### ------------------- Portable Bitmap file formats ------------------- ###
  5309. ### For more information, see the pbm(5), pgm(5), and ppm(5) man pages.  ###
  5310.  
  5311. pxm_=gdevpbm.$(OBJ)
  5312.  
  5313. gdevpbm.$(OBJ): gdevpbm.c $(PDEVH) $(gscdefs_h) $(gxlum_h)
  5314.  
  5315. ### Portable Bitmap (PBM, plain or raw format, magic numbers "P1" or "P4")
  5316.  
  5317. pbm.dev: $(pxm_) page.dev
  5318.     $(SETPDEV) pbm $(pxm_)
  5319.  
  5320. pbmraw.dev: $(pxm_) page.dev
  5321.     $(SETPDEV) pbmraw $(pxm_)
  5322.  
  5323. ### Portable Graymap (PGM, plain or raw format, magic numbers "P2" or "P5")
  5324.  
  5325. pgm.dev: $(pxm_) page.dev
  5326.     $(SETPDEV) pgm $(pxm_)
  5327.  
  5328. pgmraw.dev: $(pxm_) page.dev
  5329.     $(SETPDEV) pgmraw $(pxm_)
  5330.  
  5331. # PGM with automatic optimization to PBM if this is possible.
  5332.  
  5333. pgnm.dev: $(pxm_) page.dev
  5334.     $(SETPDEV) pgnm $(pxm_)
  5335.  
  5336. pgnmraw.dev: $(pxm_) page.dev
  5337.     $(SETPDEV) pgnmraw $(pxm_)
  5338.  
  5339. ### Portable Pixmap (PPM, plain or raw format, magic numbers "P3" or "P6")
  5340.  
  5341. ppm.dev: $(pxm_) page.dev
  5342.     $(SETPDEV) ppm $(pxm_)
  5343.  
  5344. ppmraw.dev: $(pxm_) page.dev
  5345.     $(SETPDEV) ppmraw $(pxm_)
  5346.  
  5347. # PPM with automatic optimization to PGM or PBM if possible.
  5348.  
  5349. pnm.dev: $(pxm_) page.dev
  5350.     $(SETPDEV) pnm $(pxm_)
  5351.  
  5352. pnmraw.dev: $(pxm_) page.dev
  5353.     $(SETPDEV) pnmraw $(pxm_)
  5354.  
  5355. ### Portable inKmap (CMYK internally, converted to PPM=RGB at output time)
  5356.  
  5357. pkm.dev: $(pxm_) page.dev
  5358.     $(SETPDEV) pkm $(pxm_)
  5359.  
  5360. pkmraw.dev: $(pxm_) page.dev
  5361.     $(SETPDEV) pkmraw $(pxm_)
  5362.  
  5363. ### --------------- Portable Network Graphics file format --------------- ###
  5364. ### Requires libpng 0.81 and zlib 0.95 (or more recent versions).         ###
  5365. ### See libpng.mak and zlib.mak for more details.                         ###
  5366.  
  5367. png_=gdevpng.$(OBJ) gdevpccm.$(OBJ)
  5368.  
  5369. gdevpng.$(OBJ): gdevpng.c $(gdevprn_h) $(gdevpccm_h) $(gscdefs_h) $(PSRC)png.h
  5370.     $(CCCP) -I. $(srcdir)/gdevpng.c
  5371.  
  5372. pngmono.dev: libpng.dev $(png_) page.dev
  5373.     $(SETPDEV) pngmono  $(png_)
  5374.     $(ADDMOD) pngmono  -include libpng
  5375.  
  5376. pnggray.dev: libpng.dev $(png_) page.dev
  5377.     $(SETPDEV) pnggray  $(png_)
  5378.     $(ADDMOD) pnggray  -include libpng
  5379.  
  5380. png16.dev: libpng.dev $(png_) page.dev
  5381.     $(SETPDEV) png16  $(png_)
  5382.     $(ADDMOD) png16  -include libpng
  5383.  
  5384. png256.dev: libpng.dev $(png_) page.dev
  5385.     $(SETPDEV) png256  $(png_)
  5386.     $(ADDMOD) png256  -include libpng
  5387.  
  5388. png16m.dev: libpng.dev $(png_) page.dev
  5389.     $(SETPDEV) png16m  $(png_)
  5390.     $(ADDMOD) png16m  -include libpng
  5391.  
  5392. ### ---------------------- PostScript image format ---------------------- ###
  5393. ### These devices make it possible to print Level 2 files on a Level 1    ###
  5394. ###   printer, by converting them to a bitmap in PostScript format.       ###
  5395.  
  5396. ps_=gdevpsim.$(OBJ)
  5397.  
  5398. gdevpsim.$(OBJ): gdevpsim.c $(PDEVH)
  5399.  
  5400. psmono.dev: $(ps_) page.dev
  5401.     $(SETPDEV) psmono $(ps_)
  5402.  
  5403. psgray.dev: $(ps_) page.dev
  5404.     $(SETPDEV) psgray $(ps_)
  5405.  
  5406. # Someday there will be RGB and CMYK variants....
  5407.  
  5408. ### -------------------------- SGI RGB pixmaps -------------------------- ###
  5409.  
  5410. sgirgb_=gdevsgi.$(OBJ)
  5411.  
  5412. gdevsgi.$(OBJ): gdevsgi.c $(PDEVH) gdevsgi.h
  5413.  
  5414. sgirgb.dev: $(sgirgb_) page.dev
  5415.     $(SETPDEV) sgirgb $(sgirgb_)
  5416.  
  5417. ### -------------------- Plain or TIFF fax encoding --------------------- ###
  5418. ###    Use -sDEVICE=tiffg3 or tiffg4 and                  ###
  5419. ###      -r204x98 for low resolution output, or              ###
  5420. ###      -r204x196 for high resolution output                  ###
  5421. ###    These drivers recognize 3 page sizes: letter, A4, and B4.      ###
  5422.  
  5423. gdevtifs_h=gdevtifs.h
  5424.  
  5425. tfax_=gdevtfax.$(OBJ)
  5426. tfax.dev: $(tfax_) cfe.dev lzwe.dev rle.dev tiffs.dev
  5427.     $(SETMOD) tfax $(tfax_)
  5428.     $(ADDMOD) tfax -include cfe lzwe rle tiffs
  5429.  
  5430. gdevtfax.$(OBJ): gdevtfax.c $(PDEVH)\
  5431.  $(gdevtifs_h) $(scfx_h) $(slzwx_h) $(srlx_h) $(strimpl_h)
  5432.  
  5433. ### Plain G3/G4 fax with no header
  5434.  
  5435. faxg3.dev: tfax.dev
  5436.     $(SETDEV) faxg3 -include tfax
  5437.  
  5438. faxg32d.dev: tfax.dev
  5439.     $(SETDEV) faxg32d -include tfax
  5440.  
  5441. faxg4.dev: tfax.dev
  5442.     $(SETDEV) faxg4 -include tfax
  5443.  
  5444. ### ---------------------------- TIFF formats --------------------------- ###
  5445.  
  5446. tiffs_=gdevtifs.$(OBJ)
  5447. tiffs.dev: $(tiffs_) page.dev
  5448.     $(SETMOD) tiffs $(tiffs_)
  5449.     $(ADDMOD) tiffs -include page
  5450.  
  5451. gdevtifs.$(OBJ): gdevtifs.c $(PDEVH) $(stdio__h) $(time__h) \
  5452.  $(gdevtifs_h) $(gscdefs_h) $(gstypes_h)
  5453.  
  5454. # Black & white, G3/G4 fax
  5455.  
  5456. tiffcrle.dev: tfax.dev
  5457.     $(SETDEV) tiffcrle -include tfax
  5458.  
  5459. tiffg3.dev: tfax.dev
  5460.     $(SETDEV) tiffg3 -include tfax
  5461.  
  5462. tiffg32d.dev: tfax.dev
  5463.     $(SETDEV) tiffg32d -include tfax
  5464.  
  5465. tiffg4.dev: tfax.dev
  5466.     $(SETDEV) tiffg4 -include tfax
  5467.  
  5468. # Black & white, LZW compression
  5469.  
  5470. tifflzw.dev: tfax.dev
  5471.     $(SETDEV) tifflzw -include tfax
  5472.  
  5473. # Black & white, PackBits compression
  5474.  
  5475. tiffpack.dev: tfax.dev
  5476.     $(SETDEV) tiffpack -include tfax
  5477.  
  5478. # RGB, no compression
  5479.  
  5480. tiffrgb_=gdevtfnx.$(OBJ)
  5481.  
  5482. tiff12nc.dev: $(tiffrgb_) tiffs.dev
  5483.     $(SETPDEV) tiff12nc $(tiffrgb_)
  5484.     $(ADDMOD) tiff12nc -include tiffs
  5485.  
  5486. tiff24nc.dev: $(tiffrgb_) tiffs.dev
  5487.     $(SETPDEV) tiff24nc $(tiffrgb_)
  5488.     $(ADDMOD) tiff24nc -include tiffs
  5489.  
  5490. gdevtfnx.$(OBJ): gdevtfnx.c $(PDEVH) $(gdevtifs_h)
  5491. #    Copyright (C) 1990, 1995, 1996, 1997 Aladdin Enterprises.  All rights reserved.
  5492. # This file is part of Aladdin Ghostscript.
  5493. # Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND.  No author
  5494. # or distributor accepts any responsibility for the consequences of using it,
  5495. # or for whether it serves any particular purpose or works at all, unless he
  5496. # or she says so in writing.  Refer to the Aladdin Ghostscript Free Public
  5497. # License (the "License") for full details.
  5498. # Every copy of Aladdin Ghostscript must include a copy of the License,
  5499. # normally in a plain ASCII text file named PUBLIC.  The License grants you
  5500. # the right to copy, modify and redistribute Aladdin Ghostscript, but only
  5501. # under certain conditions described in the License.  Among other things, the
  5502. # License requires that the copyright notice and this notice be preserved on
  5503. # all copies.
  5504.  
  5505. # Partial makefile common to all Unix configurations.
  5506.  
  5507. # This is the last part of the makefile for Unix configurations.
  5508. # Since Unix make doesn't have an 'include' facility, we concatenate
  5509. # the various parts of the makefile together by brute force (in tar_cat).
  5510.  
  5511. # Define the name of this makefile.
  5512. UNIXTAIL_MAK=unixtail.mak
  5513.  
  5514. # The following prevents GNU make from constructing argument lists that
  5515. # include all environment variables, which can easily be longer than
  5516. # brain-damaged system V allows.
  5517.  
  5518. .NOEXPORT:
  5519.  
  5520. # -------------------------------- Library -------------------------------- #
  5521.  
  5522. amiga__=gp_nofb.$(OBJ) gp_amiga.$(OBJ) gdevpipe.$(OBJ) #ldexp.$(OBJ) frexp.$(OBJ) modf.$(OBJ)
  5523. amiga_.dev: $(amiga__)
  5524.     $(SETMOD) amiga_ $(amiga__)
  5525.     $(ADDMOD) amiga_ -iodev pipe
  5526.  
  5527. gp_amiga.$(OBJ): gp_amiga.c $(AK) $(string__h) $(gx_h) $(gsexit_h) $(gp_h) \
  5528.   $(time__h)
  5529.  
  5530. ## The Unix platforms
  5531.  
  5532. # We have to include a test for the existence of sys/time.h,
  5533. # because some System V platforms don't have it.
  5534.  
  5535. # Define pipes as a separable feature.
  5536.  
  5537. pipe_=gdevpipe.$(OBJ)
  5538. pipe.dev: $(UNIXTAIL_MAK) $(ECHOGS_XE) $(pipe_)
  5539.     $(SETMOD) pipe $(pipe_)
  5540.     $(ADDMOD) pipe -iodev pipe
  5541.  
  5542. gdevpipe.$(OBJ): gdevpipe.c $(AK) $(errno__h) $(stdio__h) $(string__h) \
  5543.   $(gserror_h) $(gsmemory_h) $(gstypes_h) $(gxiodev_h) $(stream_h)
  5544.  
  5545. # Unix platforms other than System V, and also System V Release 4
  5546. # (SVR4) platforms.
  5547. unix__=gp_nofb.$(OBJ) gp_unix.$(OBJ) gp_unifs.$(OBJ) gp_unifn.$(OBJ)
  5548. unix_.dev: $(unix__)
  5549.     $(SETMOD) unix_ $(unix__)
  5550.  
  5551. gp_unix.$(OBJ): gp_unix.c $(AK) $(string__h) $(gx_h) $(gsexit_h) $(gp_h) \
  5552.   $(time__h)
  5553.  
  5554. # System V platforms other than SVR4, which lack some system calls,
  5555. # but have pipes.
  5556. sysv__=gp_nofb.$(OBJ) gp_unix.$(OBJ) gp_unifs.$(OBJ) gp_unifn.$(OBJ) gp_sysv.$(OBJ)
  5557. sysv_.dev: $(sysv__)
  5558.     $(SETMOD) sysv_ $(sysv__)
  5559.  
  5560. gp_sysv.$(OBJ): gp_sysv.c $(stdio__h) $(time__h) $(AK)
  5561.  
  5562. # -------------------------- Auxiliary programs --------------------------- #
  5563.  
  5564. $(ANSI2KNR_XE): ansi2knr.c
  5565.     $(CCA2K) $(O)$(ANSI2KNR_XE) $(srcdir)/ansi2knr.c
  5566.  
  5567. $(ECHOGS_XE): echogs.c $(AK)
  5568.     $(CCAUX) $(O)$(ECHOGS_XE) $(srcdir)/echogs.c
  5569.  
  5570. # On the RS/6000 (at least), compiling genarch.c with gcc with -O
  5571. # produces a buggy executable.
  5572. $(GENARCH_XE): genarch.c $(AK) $(stdpre_h)
  5573.     $(CCAUX) $(O)$(GENARCH_XE) $(srcdir)/genarch.c
  5574.  
  5575. $(GENCONF_XE): genconf.c $(AK) $(stdpre_h)
  5576.     $(CCAUX) $(O)$(GENCONF_XE) $(srcdir)/genconf.c
  5577.  
  5578. $(GENINIT_XE): geninit.c $(AK) $(stdio__h) $(string__h)
  5579.     $(CCAUX) $(O)$(GENINIT_XE) $(srcdir)/geninit.c
  5580.  
  5581. # Query the environment to construct gconfig_.h.
  5582. # The "else true; is required because Ultrix's implementation of sh -e
  5583. # terminates execution of a command if any error occurs, even if the command
  5584. # traps the error with ||.
  5585. INCLUDE=/usr/include
  5586. gconfig_.h: $(UNIXTAIL_MAK) $(ECHOGS_XE)
  5587.     ./echogs -w gconfig_.h -x 2f2a -s This file was generated automatically. -s -x 2a2f
  5588.     if ( test -f $(INCLUDE)/dirent.h ); then ./echogs -a gconfig_.h -x 23 define HAVE_DIRENT_H; else true; fi
  5589.     if ( test -f $(INCLUDE)/ndir.h ); then ./echogs -a gconfig_.h -x 23 define HAVE_NDIR_H; else true; fi
  5590.     if ( test -f $(INCLUDE)/sys/dir.h ); then ./echogs -a gconfig_.h -x 23 define HAVE_SYS_DIR_H; else true; fi
  5591.     if ( test -f $(INCLUDE)/sys/ndir.h ); then ./echogs -a gconfig_.h -x 23 define HAVE_SYS_NDIR_H; else true; fi
  5592.     if ( test -f $(INCLUDE)/sys/time.h ); then ./echogs -a gconfig_.h -x 23 define HAVE_SYS_TIME_H; else true; fi
  5593.     if ( test -f $(INCLUDE)/sys/times.h ); then ./echogs -a gconfig_.h -x 23 define HAVE_SYS_TIMES_H; else true; fi
  5594.  
  5595. # ----------------------------- Main program ------------------------------ #
  5596.  
  5597. ### Library files and archive
  5598.  
  5599. LIB_ARCHIVE_ALL=$(LIB_ALL) $(DEVS_ALL)\
  5600.  gsnogc.$(OBJ) gconfig.$(OBJ) gscdefs.$(OBJ)
  5601.  
  5602. # Build an archive for the library only.
  5603. # This is not used in a standard build.
  5604. GSLIB_A=$(GS)lib.a
  5605. $(GSLIB_A): $(LIB_ARCHIVE_ALL)
  5606.     rm -f $(GSLIB_A)
  5607.     $(AR) $(ARFLAGS) $(GSLIB_A) $(LIB_ARCHIVE_ALL)
  5608.     $(RANLIB) $(GSLIB_A)
  5609.  
  5610. ### Interpreter main program
  5611.  
  5612. INT_ARCHIVE_ALL=imainarg.$(OBJ) imain.$(OBJ) $(INT_ALL) $(DEVS_ALL)\
  5613.  gconfig.$(OBJ) gscdefs.$(OBJ)
  5614. XE_ALL=gs.$(OBJ) $(INT_ARCHIVE_ALL)
  5615.  
  5616. # Build a library archive for the entire interpreter.
  5617. # This is not used in a standard build.
  5618. GS_A=$(GS).a
  5619. $(GS_A): $(INT_ARCHIVE_ALL)
  5620.     rm -f $(GS_A)
  5621.     $(AR) $(ARFLAGS) $(GS_A) $(INT_ARCHIVE_ALL)
  5622.     $(RANLIB) $(GS_A)
  5623.  
  5624. # Here is the final link step.  The stuff with LD_RUN_PATH is for SVR4
  5625. # systems with dynamic library loading; I believe it's harmless elsewhere.
  5626. # The resetting of the environment variables to empty strings is for SCO Unix,
  5627. # which has limited environment space.
  5628. $(GS_XE): ld.tr echogs $(XE_ALL)
  5629.     ./echogs -w ldt.tr -n - $(CCLD) $(LDFLAGS) $(XLIBDIRS) -o $(GS_XE)
  5630.     ./echogs -a ldt.tr -n -s gs.$(OBJ) -s
  5631.     cat ld.tr >>ldt.tr
  5632.     ./echogs -a ldt.tr -s - $(EXTRALIBS) -lm
  5633.     LD_RUN_PATH=$(XLIBDIR); export LD_RUN_PATH; \
  5634.     XCFLAGS= XINCLUDE= XLDFLAGS= XLIBDIRS= XLIBS= \
  5635.     FEATURE_DEVS= DEVICE_DEVS= DEVICE_DEVS1= DEVICE_DEVS2= DEVICE_DEVS3= \
  5636.     DEVICE_DEVS4= DEVICE_DEVS5= DEVICE_DEVS6= DEVICE_DEVS7= DEVICE_DEVS8= \
  5637.     DEVICE_DEVS9= DEVICE_DEVS10= DEVICE_DEVS11= DEVICE_DEVS12= \
  5638.     DEVICE_DEVS13= DEVICE_DEVS14= DEVICE_DEVS15= \
  5639.     $(SH) <ldt.tr
  5640. #    Copyright (C) 1994, 1995, 1996, 1997 Aladdin Enterprises.  All rights reserved.
  5641. # This file is part of Aladdin Ghostscript.
  5642. # Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND.  No author
  5643. # or distributor accepts any responsibility for the consequences of using it,
  5644. # or for whether it serves any particular purpose or works at all, unless he
  5645. # or she says so in writing.  Refer to the Aladdin Ghostscript Free Public
  5646. # License (the "License") for full details.
  5647. # Every copy of Aladdin Ghostscript must include a copy of the License,
  5648. # normally in a plain ASCII text file named PUBLIC.  The License grants you
  5649. # the right to copy, modify and redistribute Aladdin Ghostscript, but only
  5650. # under certain conditions described in the License.  Among other things, the
  5651. # License requires that the copyright notice and this notice be preserved on
  5652. # all copies.
  5653.  
  5654. # Partial makefile common to all Unix and Desqview/X configurations.
  5655.  
  5656. # This is the very last part of the makefile for these configurations.
  5657. # Since Unix make doesn't have an 'include' facility, we concatenate
  5658. # the various parts of the makefile together by brute force (in tar_cat).
  5659.  
  5660. # Define a rule for building profiling configurations.
  5661. pg:
  5662.     make GENOPT='' CFLAGS='-pg -O $(GCFLAGS) $(XCFLAGS)' LDFLAGS='$(XLDFLAGS) -pg' XLIBS='Xt SM ICE Xext X11' CCLEAF='$(CCC)'
  5663.  
  5664. # Define a rule for building debugging configurations.
  5665. debug:
  5666.     make GENOPT='-DDEBUG' CFLAGS='-g -O $(GCFLAGS) $(XCFLAGS)'
  5667.  
  5668. # The rule for gconfigv.h is here because it is shared between Unix and
  5669. # DV/X environments.
  5670. gconfigv.h: unix-end.mak $(MAKEFILE) $(ECHOGS_XE)
  5671.     $(EXP)echogs -w gconfigv.h -x 23 define USE_ASM -x 2028 -q $(USE_ASM)-0 -x 29
  5672.     $(EXP)echogs -a gconfigv.h -x 23 define USE_FPU -x 2028 -q $(FPU_TYPE)-0 -x 29
  5673.     $(EXP)echogs -a gconfigv.h -x 23 define EXTEND_NAMES 0$(EXTEND_NAMES)
  5674.  
  5675. # The following rules are equivalent to what tar_cat does.
  5676. # The rm -f is so that we don't overwrite a file that `make'
  5677. # may currently be reading from.
  5678. GENERIC_MAK_LIST=$(GS_MAK) $(LIB_MAK) $(INT_MAK) $(JPEG_MAK) $(LIBPNG_MAK) $(ZLIB_MAK) $(DEVS_MAK)
  5679. UNIX_MAK_LIST=dvx-gcc.mak unixansi.mak unix-cc.mak unix-gcc.mak
  5680.  
  5681. unix.mak: $(UNIX_MAK_LIST)
  5682.  
  5683. DVX_GCC_MAK=$(VERSION_MAK) dgc-head.mak dvx-head.mak $(GENERIC_MAK_LIST) dvx-tail.mak unix-end.mak
  5684. dvx-gcc.mak: $(DVX_GCC_MAK)
  5685.     rm -f dvx-gcc.mak
  5686.     $(CAT) $(DVX_GCC_MAK) >dvx-gcc.mak
  5687.  
  5688. UNIXANSI_MAK=$(VERSION_MAK) ansihead.mak unixhead.mak $(GENERIC_MAK_LIST) unixtail.mak unix-end.mak
  5689. unixansi.mak: $(UNIXANSI_MAK)
  5690.     rm -f unixansi.mak
  5691.     $(CAT) $(UNIXANSI_MAK) >unixansi.mak
  5692.  
  5693. UNIX_CC_MAK=$(VERSION_MAK) cc-head.mak unixhead.mak $(GENERIC_MAK_LIST) unixtail.mak unix-end.mak
  5694. unix-cc.mak: $(UNIX_CC_MAK)
  5695.     rm -f unix-cc.mak
  5696.     $(CAT) $(UNIX_CC_MAK) >unix-cc.mak
  5697.  
  5698. UNIX_GCC_MAK=$(VERSION_MAK) gcc-head.mak unixhead.mak $(GENERIC_MAK_LIST) unixtail.mak unix-end.mak
  5699. unix-gcc.mak: $(UNIX_GCC_MAK)
  5700.     rm -f unix-gcc.mak
  5701.     $(CAT) $(UNIX_GCC_MAK) >unix-gcc.mak
  5702.  
  5703. # Installation
  5704.  
  5705. TAGS:
  5706.     etags -t *.c *.h
  5707.  
  5708. install: install-exec install-scripts install-data
  5709.  
  5710. # The sh -c in the rules below is required because Ultrix's implementation
  5711. # of sh -e terminates execution of a command if any error occurs, even if
  5712. # the command traps the error with ||.
  5713. # JOOP: change needed when installing for ixemul
  5714. #       $(INSTALL_PROGRAM) $(GS) $(bindir)/$(GS)
  5715. #       remove '#' from -mkdir $(bindir)
  5716. #       Seems that gnu:bin/mkdir needs '-p' when multiple directories are made
  5717. #       added '-p' to all mkdir commands, just in case user makes weird dirs
  5718.  
  5719. install-exec: $(GS)
  5720.     -mkdir $(bindir)
  5721.     $(INSTALL_PROGRAM) $(GS) $(bindir)/$(GS)
  5722.  
  5723. install-scripts: gsnd
  5724.     -mkdir $(scriptdir)
  5725.     sh -c 'for f in gsbj gsdj gsdj500 gslj gslp gsnd bdftops font2c \
  5726. pdf2dsc pdf2ps printafm ps2ascii ps2epsi ps2pdf wftopfa ;\
  5727.     do if ( test -f $(srcdir)/$$f ); then $(INSTALL_PROGRAM) $(srcdir)/$$f $(scriptdir)/$$f; fi;\
  5728.     done'
  5729.  
  5730. MAN1_PAGES=gs pdf2dsc pdf2ps ps2ascii ps2epsi ps2pdf
  5731. install-data: gs.1
  5732.     -mkdir $(mandir)
  5733.     -mkdir $(man1dir)
  5734.     sh -c 'for f in $(MAN1_PAGES) ;\
  5735.     do if ( test -f $(srcdir)/$$f.1 ); then $(INSTALL_DATA) $(srcdir)/$$f.1 $(man1dir)/$$f.$(man1ext); fi;\
  5736.     done'
  5737.     -mkdir $(datadir)
  5738.     -mkdir $(gsdir)
  5739.     -mkdir $(gsdatadir)
  5740.     sh -c 'for f in Fontmap \
  5741. cbjc600.ppd cbjc800.ppd *.upp \
  5742. gs_init.ps gs_btokn.ps gs_ccfnt.ps gs_cff.ps gs_cidfn.ps gs_cmap.ps \
  5743. gs_diskf.ps gs_dpnxt.ps gs_dps.ps gs_dps1.ps gs_dps2.ps gs_epsf.ps \
  5744. gs_fonts.ps gs_kanji.ps gs_lev2.ps \
  5745. gs_pfile.ps gs_res.ps gs_setpd.ps gs_statd.ps \
  5746. gs_ttf.ps gs_typ42.ps gs_type1.ps \
  5747. gs_dbt_e.ps gs_iso_e.ps gs_ksb_e.ps gs_std_e.ps gs_sym_e.ps \
  5748. acctest.ps align.ps bdftops.ps caption.ps decrypt.ps docie.ps \
  5749. font2c.ps gslp.ps impath.ps landscap.ps level1.ps lines.ps \
  5750. markhint.ps markpath.ps \
  5751. packfile.ps pcharstr.ps pfbtogs.ps ppath.ps prfont.ps printafm.ps \
  5752. ps2ai.ps ps2ascii.ps ps2epsi.ps ps2image.ps \
  5753. quit.ps showchar.ps showpage.ps stcinfo.ps stcolor.ps \
  5754. traceimg.ps traceop.ps type1enc.ps type1ops.ps uninfo.ps unprot.ps \
  5755. viewcmyk.ps viewgif.ps viewjpeg.ps viewpcx.ps viewpbm.ps viewps2a.ps \
  5756. winmaps.ps wftopfa.ps wrfont.ps zeroline.ps \
  5757. gs_l2img.ps gs_pdf.ps \
  5758. pdf2dsc.ps \
  5759. pdf_base.ps pdf_draw.ps pdf_font.ps pdf_main.ps pdf_sec.ps pdf_2ps.ps \
  5760. gs_mex_e.ps gs_mro_e.ps gs_pdf_e.ps gs_wan_e.ps \
  5761. gs_pdfwr.ps ;\
  5762.     do if ( test -f $(srcdir)/$$f ); then $(INSTALL_DATA) $(srcdir)/$$f $(gsdatadir)/$$f; fi;\
  5763.     done'
  5764.     -mkdir $(docdir)
  5765.     sh -c 'for f in COPYING NEWS PUBLIC README \
  5766. bug-form.txt c-style.txt current.txt devices.txt drivers.txt fonts.txt \
  5767. helpers.txt hershey.txt history1.txt history2.txt history3.txt humor.txt \
  5768. install.txt language.txt lib.txt make.txt new-user.txt \
  5769. ps2epsi.txt ps2pdf.txt psfiles.txt public.txt \
  5770. unix-lpr.txt use.txt xfonts.txt ;\
  5771.     do if ( test -f $(srcdir)/$$f ); then $(INSTALL_DATA) $(srcdir)/$$f $(docdir)/$$f; fi;\
  5772.     done'
  5773.     -mkdir $(exdir)
  5774.     for f in alphabet.ps chess.ps cheq.ps colorcir.ps escher.ps golfer.ps \
  5775. grayalph.ps snowflak.ps tiger.ps waterfal.ps \
  5776. ridt.eps ;\
  5777.     do $(INSTALL_DATA) $(srcdir)/$$f $(exdir)/$$f ;\
  5778.     done
  5779.